gpt4 book ai didi

kubernetes - 如何使用集群ip连接到数据库服务

转载 作者:行者123 更新时间:2023-12-01 10:24:40 27 4
gpt4 key购买 nike

这可能是非常基本的问题,但我找不到任何地方,所以我道歉..

我已经在 Google Kubernetes Engine 上使用 helm 安装了 postresql

$ helm install --name staging stable/postgresql

我的部署:
$ kubectl get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
staging-backend 7 7 7 0 3h
staging-postgresql 1 1 1 0 3h

还有我的服务:
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
staging-postgresql ClusterIP xx.x.xxx.xx <none> 5432/TCP 3h

我尝试连接 staging-backendstaging-postgresql使用集群 IP 但它似乎不起作用。或者我应该使用外部IP ..??我在哪里可以找到外部IP..??

谢谢你..

最佳答案

在 Kubernetes 中,您有两种选择来查找服务的 IP。

  • 环境变量

  • Kubernetes 使用访问服务所需的所有数据自动生成环境变量。如果您运行 env在 pod 内执行命令,那么您应该会看到类似的输出:
    KUBERNETES_SERVICE_PORT=443
    STAGING_POSTGRESQL_SERVICE_HOST=10.0.162.149
    KUBERNETES_SERVICE_HOST=10.0.0.1
    STAGING_POSTGRESQL_SERVICE_PORT=5432
    KUBERNETES_SERVICE_PORT_HTTPS=443

    使用 STAGING_POSTGRESQL_SERVICE_HOST您的应用程序中的环境变量以获取服务的 IP。
  • DNS(首选)

  • Kubernetes 会自动为所有服务分配 DNS 名称。使用您的服务名称而不是 IP,它将被解析为服务 IP。

    例如运行 ping staging-postgresql在任何 pod 内。

    您可以阅读更多关于使用服务的信息 here .

    关于kubernetes - 如何使用集群ip连接到数据库服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48572085/

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