我在我的工作站上运行多节点 k8s 集群。我已经使用多通道创建了 VM。K8s 集群使用 microk8s 部署。
Microk8s 提供私有注册表作为插件。
它为注册表提供 32000 作为节点端口。
我想远程连接到这个集群并将 docker 镜像推送到这个注册表。
172.**.44.***:32000
我在远程电脑的 docker 设置中添加了不安全的注册表。
注意:172.**.44.***
是集群的 IP(你在 kubectl cluster-info 中得到的东西)
但我无法让它工作
docker build -t 172.**.44.***:32000/myapp:v1 .
docker push 172.**.44.***:32000/myapp:v1
Get http://172.**.44.***:32000/v2/: dial tcp 172.**.44.***:32000: connect: no route to host
之前没用过microk8s
搭建kubernetes集群,但是感觉是ip的ip172.xx.xx.xx
不对,本地电脑连接不上。
那么以下命令的输出是什么:
- 什么是节点 IP,包括主节点和工作节点?
kubernetes get nodes -o wide
- 服务设置是什么?
kuberentes get services
您能否确保该私有注册表服务器端口的服务已设置并且可以连接。
- 检查你自己电脑的IP
# for windows
ipconfig
# for linux/macos
ifconfig
输出中可能有很多 IP,请确保为您的 PC 获取正确的本地 IP。
例如,它是这样的10.xx.xx.xx
,那么你应该使用类似的 IP 来连接到那个私有注册服务器,你只需要找到它
- 检查您使用的网络 CNI,weavenet、flannel 等。
这些网络 CNI 提供商使用的 IP172.xx.xx.xx
主要是在 kubernetes 集群中使用,但不能在您的本地主机中使用。