基础安装(所有节点)
系统配置
代码语言:shell复制# 开启 ipv4 转发功能
echo "1" > /proc/sys/net/ipv4/ip_forward
安装 containerd
代码语言:shell复制# 安装 containerd
apt install -y containerd
# 安装 crictl,参考 https://github.com/kubernetes-sigs/cri-tools
VERSION="v1.26.0"
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz
sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
rm -f crictl-$VERSION-linux-amd64.tar.gz
# 设置 endpoint
crictl config runtime-endpoint unix:///run/containerd/containerd.sock
crictl config image-endpoint unix:///run/containerd/containerd.sock
# 检查 caontainerd 状态
systemctl status containerd
安装 kubelet kubeadm kubectl
代码语言:shell复制# 添加 kubernetes 源证书
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
# 添加源
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
# 更新源
apt update
# 检索版本
apt-cache madison kubectl
# 安装对应版本
apt install -y kubelet=1.24.4-00 kubeadm=1.24.4-00 kubectl=1.24.4-00
# 插件版本
kubeadm version
kubectl version
kubelet --version
# 如果版本不对,可以卸载后再安装
apt remove kubeadm kubectl kubelet
启动 kubelet
代码语言:shell复制systemctl enable kubelet.service
systemctl start kubelet.service
启动 master 节点
启动 kubelet
使用 kubeadm 初始化
代码语言:shell复制# 9.133.33.133 为 master 节点 ip,需要保证工作节点可以通过此 ip 访问当 master 节点
# 如果是部署标准化环境,k8s 版本则需要根据标准化版本需求做适当更改
kubeadm init --kubernetes-version=1.24.4
--apiserver-advertise-address=9.133.33.133
--image-repository registry.aliyuncs.com/google_containers
--service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16
遇到的问题
- 如果报错
container runtime is not running
, 则需要执行下面的操作,再执行 kubeadm 初始化
rm /etc/containerd/config.toml
systemctl restart containerd
初始化完成后会有两部分信息记录
- 把 kubeconfig 拷贝到当前环境
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 其他工作节点加入集群的命令行
kubeadm join 9.133.33.133:6443 --token xxxx.xxxxxx
--discovery-token-ca-cert-hash sha256:xxxxxxxx
如果忘记,也可以使用个下面指令获取加入集群命令行
代码语言:txt复制kubeadm token create --print-join-command
安装 woker 节点
加入集群
(首先完成基础安装)
代码语言:txt复制kubeadm join 9.133.33.133:6443 --token xxxx.xxxxxx
--discovery-token-ca-cert-hash sha256:xxxxxxxx