铁路校友-我拆过的坑cycx

主页:www.j6f.cn知识星球,快手号、抖音号、视频号、微信公众号、百家号、个人博客网站,同名。

K8S 解决问题,解决方案:降级 Docker 到兼容版本

解决方案:降级 Docker 到兼容版本

1. 卸载当前 Docker

bash
yum remove -y docker-ce docker-ce-cli containerd.io

2. 安装 Docker 19.03(Kubernetes v1.17 验证版本)

bash
# 添加Docker仓库yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 锁定版本并安装yum install -y docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io# 启动并设置开机自启systemctl start dockersystemctl enable docker

3. 配置 Docker 使用 systemd cgroup 驱动

bash
cat > /etc/docker/daemon.json << EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF# 重启Docker使配置生效systemctl restart docker

三、重新配置并初始化 Kubernetes

1. 清理残留环境

bash
# 停止服务systemctl stop kubelet docker# 重置kubeadmkubeadm reset -f# 删除残留文件rm -rf /etc/kubernetes/*rm -rf $HOME/.kuberm -rf /var/lib/etcdrm -rf /var/lib/kubeletrm -rf /var/lib/cni

2. 创建兼容的配置文件

bash
cat > kubeadm-config.yaml << EOF
apiVersion: kubeadm.k8s.io/v1beta2
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.100.100
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///var/run/dockershim.sock  # 注意:Docker 19.03使用dockershim
  name: shihb-k8s-master01
  taints: []
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.17.4
networking:
  dnsDomain: cluster.local
  podSubnet: 10.224.0.0/16
  serviceSubnet: 10.96.0.0/12
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
apiServer:
  timeoutForControlPlane: 4m0s
  extraArgs:
    authorization-mode: Node,RBAC
certificatesDir: /etc/kubernetes/pki
controllerManager:
  extraArgs:
    node-cidr-mask-size: "24"
etcd:
  local:
    dataDir: /var/lib/etcd
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
authentication:
  anonymous:
    enabled: false
  webhook:
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: Webhook
clusterDomain: cluster.local
clusterDNS:
- 10.96.0.10
resolvConf: /etc/resolv.conf
runtimeRequestTimeout: 10m0s
EOF

3. 重新执行初始化

bash
kubeadm init --config=kubeadm-config.yaml --upload-certs


发表评论:

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.