繁体   English   中英

使用 Rancher Desktop:如何从本地笔记本电脑访问容器中运行的 Kubernetes 服务(节点端口)

[英]Using rancher Desktop: How to access a Kubernetes Service(node port) running in a container from the local laptop

我在我的 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

但是当我尝试在端口 32040 上连接到 192.168.5.15 时,我得到connection timed out

我可以提示如何使用 Rancher Desktop 执行此操作吗?

谢谢你,安德烈

我找到了一个解决方案: kubectl get node -o wide返回的 ip 似乎不能用于从 Rancher Desktop 中的 kubernetes 节点访问服务(它在其他名为“kind”的 kubernetes 集群中工作)。

Rancher Desktop 的工作是直接在 localhost 上访问 NodePort 服务,所以在上面的示例中:localhost:32040

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM