背景介绍

在缺省安装时,K3S默认使用containerd作为容器运行环境,
若想使用Docker环境替换containerd环境共有两种方法。

方法一:安装时指定参数

在安装时通过环境变量INSTALL_K3S_EXEC

curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC=“server --docker” sh -s -

或者采取直接传参

curl -sfL https://get.k3s.io | sh -s - server --docker

方法二:安装后修改配置文件

修改K3S服务的配置文件:

vim /etc/systemd/system/multi-user.target.wants/k3s.service

文件内容如下

[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
Wants=network-online.target

[Install]
WantedBy=multi-user.target

[Service]
Type=notify
EnvironmentFile=/etc/systemd/system/k3s.service.env
KillMode=process
Delegate=yes
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Restart=always
RestartSec=5s
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/k3s server
~                                                                                                      
~                                                                                                      
~                                                                                                                                                                                        
"/etc/systemd/system/multi-user.target.wants/k3s.service" 26L, 670C                  26,0-1        All

在这里我们需要修改ExecStart的值,将其修改为:

/usr/local/bin/k3s server --docker --no-deploy traefik

之后保存退出,执行命令重新加载新的服务配置文件:

systemctl daemon-reload

完成后重启K3S服务:

service k3s restart

稍等数十秒,之后通过命令确认K3S集群是否就绪:

k3s kubectl get node

如果得到类似如下的结果:

NAME                      STATUS   ROLES    AGE    VERSION
iz2zeh0l1z8k2z5qifxbknz   Ready    master   176m   v1.18.4+k3s1

则说明K3S集群启动成功。

查询节点信息

kubectl get node -o wide

显示信息为

NAME                      STATUS   ROLES    AGE    VERSION        INTERNAL-IP      EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME
iz2zeh0l1z8k2z5qifxbknz   Ready    master   177m   v1.18.4+k3s1   172.17.106.133   <none>        CentOS Linux 7 (Core)   3.10.0-514.26.2.el7.x86_64   docker://19.3.12

显示docker则表示切换成功。

参考博客

Logo

开源、云原生的融合云平台

更多推荐