我知道k3d可以通过k3d cluster create myname --token MYTOKEN --agents 1神奇地做到这一点,但我正在试图弄清楚如何“手动”完成最简单的版本。我想创建一个类似如下的服务器:
docker run -e K3S_TOKEN=MYTOKEN rancher/k3s:latest server并连接一个代理,如下所示:
docker run -e K3S_TOKEN=MYTOKEN -e K3S_URL=https://localhost:6443 rancher/k3s:latest agent有人知道这里需要转发哪些端口吗?我该如何设置它?我尝试过的几乎所有情况下,代理都会抱怨端口6444已在使用中,即使我使用任何--no-deploy servicelb --disable-agent --no-deploy traefik组合尽可能多地禁用服务器也是如此
请随意禁用除了服务器和代理之外的所有内容,我正在尝试让这件事变得非常简单,但目前只是碰壁而已。谢谢!
发布于 2021-07-19 23:50:50
容器必须“看到”彼此。Docker默认隔离网络,因此代理容器中的"localhost“就是代理容器本身。
可能的解决方案:使用--net=host运行两个容器而不进行网络隔离,使用--port将服务器的API端口映射到主机,并在代理容器中使用主机IP或使用docker-compose。
这里描述了一个docker-compose的工作示例:https://www.trion.de/news/2019/08/28/kubernetes-in-docker-mit-k3s.html
https://stackoverflow.com/questions/68442393
复制相似问题