我在我的ubuntu笔记本电脑上运行Rancher Desktop。我有一个在kubernetes容器中运行mongodb的容器:
$ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/mongo-deployment-7fb46bd85-vz9th 1/1 Running 0 37m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 3d17h
service/mongo-service NodePort 10.43.132.185 <none> 27017:32040/TCP 37m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/mongo-deployment 1/1 1 1 37m
NAME DESIRED CURRENT READY AGE
replicaset.apps/mongo-deployment-7fb46bd85 1 1 1 37m
因此mongo服务的节点端口为:32040。
我找到了kubernetes节点的本地ip:
$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
lima-rancher-desktop Ready control-plane,master 3d17h v1.23.6+k3s1 192.168.5.15 <none> Alpine Linux v3.15 5.15.32-0-virt containerd://1.5.11
因此内部IP为:192.168.5.15
但是当我尝试192.168.5.15在端口32040上连接到www.example.com时,我得到的是connection timed out
。
我可以有一个提示,如何做到这一点与牧场主桌面?
谢谢你,安德烈
1条答案
按热度按时间dsekswqp1#
我找到了一个解决办法:
kubectl get node -o wide
返回的ip似乎无法用于访问Rancher Desktop中的kubernetes节点的服务(它在名为“kind”(https://kind.sigs.k8s.io/)的其他kubernetes集群中工作)。Rancher Desktop的工作方式是直接在localhost上访问NodePort服务,因此在上面的示例中:本地主机:32040