【问题标题】:Using rancher Desktop: How to access a Kubernetes Service(node port) running in a container from the local laptop使用 Rancher Desktop:如何从本地笔记本电脑访问容器中运行的 Kubernetes 服务(节点端口)
【发布时间】:2022-10-20 22:30:05
【问题描述】:

我在我的 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 port-forward service/mongo-service 28015:27017,然后您可以使用localhost:28015 连接到它。如果我没记错的话,Rancher 桌面自带 traefik 作为入口控制器。您还可以为您的 mongo 服务创建一个入口。
  • 感谢您的回复,将尝试使用ingres

标签: kubernetes rancher-desktop


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-04-19
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    相关资源
    最近更新 更多