gpt4 book ai didi

未为 Kubernetes 服务分配(外部)IP 地址

转载 作者:行者123 更新时间:2023-12-03 23:40:59 25 4
gpt4 key购买 nike

对于围绕 SO 的非常相似的问题,有各种答案,它们都显示了我希望我的部署看起来像什么,但我的却没有。

  • 我在 Windows 上运行 Minikube 0.25,Kubernetes 1.9
    10.
  • 我已经成功创建了一个节点、一个复制 Controller 和一个
    单个 pod 模板已复制 10 次。
  • 节点为 Minikube,分配的 IP 地址为 10.49.106.251
  • 仪表板在 10.49.106.251:30000
  • 可用

    我正在使用 YAML 文件部署服务,但从未为该服务分配外部 IP - 如果我碰巧使用 kubectl expose,结果是一样的.

    我正在使用的 YAML 文件:
    kind: Service
    apiVersion: v1
    metadata:
    name: hello-service
    spec:
    type: NodePort
    selector:
    app: hello-world
    ports:
    - protocol: TCP
    port: 8080

    我还可以使用 YAML 文件来分配外部 IP - 我为其分配与节点 IP 地址相同的值。无论哪种方式,都无法连接到服务。我还应该指出,10 个复制的 pod 都与选择器匹配。

    运行结果 kubectl get svc默认情况下,更新外部IP后如下:
    NAME            TYPE        CLUSTER-IP      EXTERNAL-IP     PORT(S)          AGE
    hello-service NodePort 10.108.61.233 <none> 8080:32406/TCP 1m
    hello-service NodePort 10.108.61.233 10.49.106.251 8080:32406/TCP 1m

    我一直在关注的教程,以及关于 SO 的其他答案显示的结果类似于:
    hello-service   NodePort    10.108.61.233   <nodes>   8080:32406/TCP   1m

    不同之处在于外部IP设置为

    我在本地运行时遇到了许多问题 - 这只是另一种情况,还是其他人找到了解决外部 IP 分配问题的方法?

    最佳答案

    使用 NodePort 意味着它将在集群的所有节点上打开一个端口。在上面的示例中,暴露给外界的端口是 32406。
    为了访问 hello-service(如果是 http),它将是 http://[节点ip]:32406/。这将命中您的 minikube,请求将以循环方式路由到您的 pod。

    关于未为 Kubernetes 服务分配(外部)IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49088884/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com