Kubernetes|Kubernetes 1.24 1.25 集群使用docker作为容器
Kubernetes 1.24 1.25 集群使用docker作为容器
背景
【Kubernetes|Kubernetes 1.24 1.25 集群使用docker作为容器】在新版本Kubernetes环境(1.24以及以上版本)下官方不在支持docker作为容器运行时了,若要继续使用docker 需要对docker进行配置一番。需要安装cri-docker作为Kubernetes容器
查看当前容器运行时
# 查看指定节点容器运行时
kubectldescribe node k8s-node05| grep Container
Container Runtime Version:containerd://1.6.8# 查看所有节点容器运行时
kubectldescribe node| grep Container
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
安装docker
# 更新源信息
yum update
# 安装必要软件
yum install -y yum-utilsdevice-mapper-persistent-datalvm2# 写入docker源信息
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo# 更新源信息并进行安装
yum update
yum install docker-ce docker-ce-cli containerd.io# 配置加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ted9wxpi.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
安装cri-docker
# 由于1.24以及更高版本不支持docker所以安装cri-docker
# 下载cri-docker
wgethttps://ghproxy.com/https://github.com/Mirantis/cri-dockerd/releases/download/v0.2.5/cri-dockerd-0.2.5.amd64.tgz# 解压cri-docker
tar xvf cri-dockerd-0.2.5.amd64.tgz
cp cri-dockerd/cri-dockerd/usr/bin/# 写入启动配置文件
cat >/usr/lib/systemd/system/cri-docker.service < /usr/lib/systemd/system/cri-docker.socket <
为kubelet配置容器运行时
# 1.25 版本下 所有k8s节点配置kubelet service
cat > /usr/lib/systemd/system/kubelet.service << EOF[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
After=containerd.service
Requires=containerd.service[Service]
ExecStart=/usr/local/bin/kubelet \\
--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.kubeconfig\\
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \\
--config=/etc/kubernetes/kubelet-conf.yml \\
--container-runtime-endpoint=unix:///run/cri-dockerd.sock\\
--node-labels=node.kubernetes.io/node=[Install]
WantedBy=multi-user.target
EOF# 1.24 版本下 所有k8s节点配置kubelet service
cat > /usr/lib/systemd/system/kubelet.service << EOF[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
After=containerd.service
Requires=containerd.service[Service]
ExecStart=/usr/local/bin/kubelet \\
--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.kubeconfig\\
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \\
--config=/etc/kubernetes/kubelet-conf.yml \\
--container-runtime=remote\\
--runtime-request-timeout=15m\\
--container-runtime-endpoint=unix:///run/cri-dockerd.sock\\
--cgroup-driver=systemd \\
--node-labels=node.kubernetes.io/node= \\
--feature-gates=IPv6DualStack=true[Install]
WantedBy=multi-user.target
EOF# 重启
systemctl daemon-reload
systemctl restart kubelet
systemctl enable --now kubelet
验证
# 查看指定节点容器运行时
kubectldescribe node k8s-node05| grep Container
Container Runtime Version:docker://20.10.17# 查看所有节点容器运行时
kubectldescribe node| grep Container
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:containerd://1.6.8
Container Runtime Version:docker://20.10.17
关于
https://www.oiox.cn/
https://www.oiox.cn/index.php...
CSDN、GitHub、知乎、开源中国、思否、掘金、简书、华为云、阿里云、腾讯云、哔哩哔哩、今日头条、新浪微博、个人博客
全网可搜《小陈运维》
文章主要发布于微信公众号
推荐阅读
- 前端食堂技术周刊第|前端食堂技术周刊第 50 期(TypeScript 4.8、Deno 1.25、Terminal Gif Maker)
- Kubernetes学习|kubernetes学习(15)---HPA、Label和Selector
- 运维|云原生技术(Kubernetes)
- 技术体系|云原生核心技术之(Kubernetes)
- 云原生系列技术|云原生系列技术(六)(Kubernetes 架构及核心组件详解)
- 技术交流|【云原生】Kubernetes(k8s)的架构与组件介绍
- Docker与虚拟化技术浅析第一弹之docker与Kubernetes
- 第一时间快速了解 Kubernetes 1.25
- kubernetes网络排错思想
- kubernetes/k8s|kubernetes/k8s多节点部署之etcd存储的部署以及flannel网络配置的部署