1、更新时间-2025年12月29日

使用系统类型:openEuler-24.03-LTS-x86_64-dvd

# 查询登录信息
[root@openEuler ~]# who
root     pts/0        2025-12-29 22:40 (192.168.113.1)

# 查询内核版本、主机名、系统架构
[root@openEuler ~]# uname -a
Linux openEuler 6.6.0-28.0.0.34.oe2403.x86_64 #1 SMP Mon May 27 22:22:46 CST 2024 x86_64 x86_64 x86_64 GNU/Linux

# 查询发行版详细信息(版本、ID 等)
[root@openEuler ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"

添加docker-ce软件仓库(华为云镜像源)

tee /etc/yum.repos.d/docker-ce.repo <<EOF
[docker-ce-stable]
name=Docker CE Stable-\$basearch
baseurl=https://mirrors.huaweicloud.com/docker-ce/linux/centos/9/\$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.huaweicloud.com/docker-ce/linux/centos/gpg
EOF

安装containerd软件包

# 安装命令和结果
[root@openEuler ~]# dnf install -y containerd.io-1.6.20-3.1.el9.x86_64
Docker CE Stable-x86_64                 11 kB/s |  65 kB     00:06    
Last metadata expiration check: 0:00:04 ago on 2025年12月29日 星期一 23时18分01秒.
Dependencies resolved.
=======================================================================
 Package           Arch   Version               Repository        Size
=======================================================================
Installing:
 containerd.io     x86_64 1.6.20-3.1.el9        docker-ce-stable  33 M
Installing dependencies:
 container-selinux noarch 2:2.230.0-1.oe2403    OS                45 k

Transaction Summary
=======================================================================
Install  2 Packages

Total download size: 33 M
Installed size: 114 M
Downloading Packages:
(1/2): container-selinux-2.230.0-1.oe2  20 kB/s |  45 kB     00:02    
(2/2): containerd.io-1.6.20-3.1.el9.x8 7.1 MB/s |  33 MB     00:04    
-----------------------------------------------------------------------
Total                                  7.1 MB/s |  33 MB     00:04     
Docker CE Stable-x86_64                2.5 kB/s | 1.6 kB     00:00    
Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) <docker@docker.com>"
 Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
 From       : https://mirrors.huaweicloud.com/docker-ce/linux/centos/gpg
Key imported successfully
retrieving repo key for OS unencrypted from http://repo.openeuler.org/openEuler-24.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler
OS                                     1.6 kB/s | 3.0 kB     00:01    
Importing GPG key 0xB675600B:
 Userid     : "openeuler <openeuler@compass-ci.com>"
 Fingerprint: 8AA1 6BF9 F2CA 5244 010D CA96 3B47 7C60 B675 600B
 From       : http://repo.openeuler.org/openEuler-24.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                               1/1 
  Running scriptlet: container-selinux-2:2.230.0-1.oe2403.noarch   1/2 
  Installing       : container-selinux-2:2.230.0-1.oe2403.noarch   1/2 
  Running scriptlet: container-selinux-2:2.230.0-1.oe2403.noarch   1/2 
  Installing       : containerd.io-1.6.20-3.1.el9.x86_64           2/2 
  Running scriptlet: containerd.io-1.6.20-3.1.el9.x86_64           2/2 
  Running scriptlet: container-selinux-2:2.230.0-1.oe2403.noarch   2/2 
  Running scriptlet: containerd.io-1.6.20-3.1.el9.x86_64           2/2 
  Verifying        : containerd.io-1.6.20-3.1.el9.x86_64           1/2 
  Verifying        : container-selinux-2:2.230.0-1.oe2403.noarch   2/2 

Installed:
  container-selinux-2:2.230.0-1.oe2403.noarch                          
  containerd.io-1.6.20-3.1.el9.x86_64                                  

Complete!
[root@openEuler ~]# 

生成一份标准的containerd配置文件(配置初始化)

containerd config default | tee /etc/containerd/config.toml

修改/etc/containerd/config.toml配置文件

# 搜索这两个字段,改成true

SystemdCgroup = true
systemd_cgroup = true

# 搜索sandbox_image修改镜像源
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"

# 设置镜像加速器路径 config_path
config_path = "/etc/containerd/certs.d"

配置镜像加速器

# 创建目录结构
mkdir -p /etc/containerd/certs.d/docker.io

# 创建hosts.toml配置文件
tee /etc/containerd/certs.d/docker.io/hosts.toml <<EOF
server = "https://registry-1.docker.io"

[host."https://docker.1ms.run"]
  capabilities = ["pull", "resolve"]
  skip_verify = true

[host."https://dockerhub.azk8s.cn"]
  capabilities = ["pull", "resolve"]
  skip_verify = true
EOF

检查是否创建成功了子配置:cat /etc/containerd/certs.d/docker.io/hosts.toml

[root@localhost containerd]# cat /etc/containerd/certs.d/docker.io/hosts.toml
server = "https://registry-1.docker.io"

[host."https://docker.1ms.run"]
  capabilities = ["pull", "resolve"]
  skip_verify = true

[host."https://dockerhub.azk8s.cn"]
  capabilities = ["pull", "resolve"]
  skip_verify = true
[root@localhost containerd]# 

为 crictl 配置 containerd 的 socket:crictl 是一个用于与 CRI(容器运行时接口)交互的命令行工具,K8s 调试必备。需要告诉它 containerd 的通信地址(为了使用crictl命令拉取containerd镜像,必须要配置这个)

cat > /etc/crictl.yaml <<EOF
runtime-endpoint: unix:///var/run/containerd/containerd.sock
image-endpoint: unix:///var/run/containerd/containerd.sock
timeout: 10
debug: false
EOF

配置完成后升级runc:sudo dnf install -y runc

启动 containerd 并设置开机自启:systemctl enable containerd --now

查看状态:systemctl status containerd

安装三个,可以为K8S做准备,也可用crictl命令pull镜像

设置K8S安装源

tee /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装K8S组件:dnf install -y kubeadm-1.28.2 kubelet-1.28.2 kubectl-1.28.2

查看crictl信息和配置:crictl info

# CNI 网络插件基础配置
"cniconfig": {
  "PluginDirs": ["/opt/cni/bin"],  // CNI插件二进制文件存放目录(比如flannel/calico的可执行文件放这)
  "PluginConfDir": "/etc/cni/net.d",  // CNI网络配置文件目录(部署网络插件后,这里会生成*.conf文件)
  "Networks": [{"Name": "cni-loopback", "IFName": "lo"}]  // 默认的回环网络(仅本地lo接口,无实际集群网络)
}

# CNI 插件路径配置
"cni": {
  "binDirs": ["/opt/cni/bin"],  // 和cniconfig的PluginDirs一致,CNI插件二进制路径
  "confDir": "/etc/cni/net.d"   // CNI配置文件路径
}

# 其他关键配置
"containerdRootDir": "/var/lib/containerd",  // containerd的持久化数据目录(存放镜像、容器数据)
"containerdEndpoint": "/run/containerd/containerd.sock",  // containerd的sock文件路径(kubelet/crictl通信的地址)
"rootDir": "/var/lib/containerd/io.containerd.grpc.v1.cri",  // CRI插件的根目录(存放CRI相关数据)
"stateDir": "/run/containerd/io.containerd.grpc.v1.cri"  // CRI插件的运行时状态目录(临时文件)

更多推荐