ubuntu安装k8s
安装apt源
cd /etc/apt/
# 配置k8s源
sudo tee /etc/apt/sources.list.d/kubernetes.list <<EOF
deb [arch=amd64] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
# 配置docker源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装docker源的公钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 安装公钥
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-aliyun.gpg
# 更新源依赖
apt update
# 列举出来相关的版本
apt-cache madison kubeadm
# 离线下载安装包的命令
apt-get install --download-only docker-ce
# 修改主机配置
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
# 配置网络转发
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
关闭swap
sudo swapoff -a # 临时关闭
sudo sed -i '/ swap / s/^$.*$$/#\1/g' /etc/fstab # 永久关闭
配置防火墙或修改防火墙白名单
systemctl status ufw.service
修改主机的内核参数
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
# 安装docker
apt install docker-ce=5:20.10.13~3-0~ubuntu-jammy
# 安装指定的版本
apt install kubeadm=1.20.2-00 kubectl=1.20.2-00 kubelet=1.20.2-00 -y
# 加入集群配置运行
登录master获取加入集群的命令
kubeadm token create --print-join-command
# 打印出来的 kubeadm join 10.10.0.10:6443 --token j61nqa.gfkn0vtcklnnsg4j --discovery-token-ca-cert-hash sha256:f978ccbc658dd309557639c7866310214273a9ffd5796116698c8b9e154d7f50
登录节点使用这个join命令加入
kubeadm join 10.10.0.10:6443 --token j61nqa.gfkn0vtcklnnsg4j --discovery-token-ca-cert-hash sha256:f978ccbc658dd309557639c7866310214273a9ffd5796116698c8b9e154d7f50
# docker纳管显卡资源
# 先安装nvidia-container-runtime
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list |
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' |
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# 刷新一下这个依赖包
apt-get update
# 安装nvidia-container-runtime
apt install -y nvidia-container-toolkit
# 修改docker配置文件,配置可以使用显卡资源
vi /etc/docker/daemon.json
{
"insecure-registries": ["10.10.10.1:8021"],
"exec-opts": ["native.cgroupdriver=cgroupfs"],
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
},
"storage-driver": "overlay2",
"registry-mirrors": ["https://docker.hpcloud.cloud","https://docker.m.daocloud.io","https://docker.unsee.tech","https://docker.1panel.live","http://mirrors.ustc.edu.cn","https://docker.chenby.cn","http://mirror.azure.cn","https://dockerpull.org","https://dockerhub.icu","https://hub.rat.dev","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://cr.console.aliyun.com","https://ccr.ccs.tencentyun.com","https://dockerproxy.com","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://hubgw.docker.com"]
}
# 重启一下这个docker服务
systemctl restart docker
# 查看是否生效了
docker info
浙公网安备 33010602011771号