背景介紹
在缺省安裝時,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則表示切換成功。