至少对于 Ubuntu 20.04 上的MicroK8s 1.18,我发现解决这个问题的方法是在 Kubernetes 旁边显式安装 Docker。
类似的步骤应该适用于不包含 Docker 的其他 Kubernetes 发行版。
安装后microk8s
,您可以执行以下操作来安装 Docker:
# Shut down microk8s
sudo snap disable microk8s
# Assuming no Docker installed yet - this fixes the case
# where Kubernetes results in this path being a directory
rm -rf /var/run/docker.sock
sudo apt-get install docker.io
ls -l /var/run/docker.sock
# Output should show socket not directory:
# srw-rw---- 1 root docker 0 Aug 6 11:50 /var/run/docker.sock
# (See https://docs.docker.com/engine/install/linux-postinstall/ for usermod + newgrp commands at this point)
# Restart microk8s
sudo snap enable microk8s
其他 Kubernetes 发行版可能有不同的方式来更有选择性地关闭进程。
journalctl -xe
在此处查看来自 Docker 或 Kubernetes 的任何错误很有用。
在 Kubernetes 清单中,请务必/var/run/docker.sock
在挂载 docker.sock 时用作主机路径。
相关问题:
Linux 上 Docker 的安装后步骤