我如何 运行 k3s within docker using the official rancher docker image

How do I run k3s within docker using the official rancher docker image

我想启动服务器和客户端使用 docker run rancher/k3s:latest server docker run -e K3S_TOKEN=xyz -e K3S_URL=https://<server_container_name>:6443 rancher/k3s:latest agent

但由于某些原因,即使我将其部署在单独的网络上,服务器和客户端也无法相互通信。关于可以做什么有什么建议吗?

启动您的第一台服务器,您可能希望公开端口。例如:

docker run -p 6443:6443 ranger/k3s:latest server

然后,确保其他容器可以解析您的 K3S_URL 的 FQDN,将其发送到启动初始服务器的主机地址。例如:

docker run --add-host <server_name>:<ip-address> \
    -e K3S_TOKEN=xyz -e K3S_URL=https://<server_name>:6443 \
    rancher/k3s:latest agent

另请注意:在我的例子中,我还必须添加 --privileged docker 选项,以及一些 --snapshotter native 选项

docker run --privileged -p 6443:6443 rancher/k3s:latest server --snapshotter native
docker run --privileged -e K3S_TOKEN=xxx --add-host=adcbd2a250ff:10.42.42.127 -e K3S_URL=https://adcbd2a250ff:6443 rancher/k3s:latest agent --snapshotter native