Kubernetes1.20修改Cgroup driver
Docker的Cgroup driver默认使用cgroupfs作为驱动程序,而在部署k8s集群的时候,日志信息提示建议将驱动程序改为systemd.
由于集群是刚搭建的环境,此时方便修改docker驱动程序,若是已上线业务的生产环境,不建议直接修改
首先,将docker驱动程序改为systemd
]# cat /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=systemd"], #指定驱动程序为systemd "registry-mirrors": ["和谐加速源IP地址"], "data-root":"/data/docker", "log-opts":{ "max-size":"100m" } }
]# systemctl restart docker #重启docker
重启后发现集群组件无法被kubelet重新拉起,重启kubelet后发现程序报错
]# systemctl status kubelet ● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/kubelet.service.d └─10-kubeadm.conf Active: activating (auto-restart) (Result: exit-code) since 四 2021-01-14 23:46:09 CST; 4s ago Docs: https://kubernetes.io/docs/ Process: 17545 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=255) Main PID: 17545 (code=exited, status=255)
这里很明显可以推断出是由于docker驱动程序修改导致不匹配问题,根据systemd启动文件内容找到kubelet的配置文件路径为/var/lib/kubelet/config.yaml
apiVersion: kubelet.config.k8s.io/v1beta1 authentication: anonymous: enabled: false webhook: cacheTTL: 0s enabled: true x509: clientCAFile: /etc/kubernetes/pki/ca.crt authorization: mode: Webhook webhook: cacheAuthorizedTTL: 0s cacheUnauthorizedTTL: 0s cgroupDriver: systemd #将该字段的cgroupfs修改为systemd clusterDNS: - 10.96.0.10 .... #以下内容省略
保存后重启kubelet,运行正常
]# systemctl status kubelet ● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/kubelet.service.d └─10-kubeadm.conf Active: active (running) since 四 2021-01-14 23:47:38 CST; 5min ago
... #以下内容省略
]# ss -ntlup | grep kubelet
tcp LISTEN 0 128 127.0.0.1:10248 *:* users:(("kubelet",pid=18581,fd=27))
tcp LISTEN 0 128 127.0.0.1:38504 *:* users:(("kubelet",pid=18581,fd=12))
tcp LISTEN 0 128 :::10250 :::* users:(("kubelet",pid=18581,fd=30))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了