gpt4 book ai didi

kubernetes - 在 Kubernetes 的 pod 内运行的应用程序的 IP 地址分配

转载 作者:行者123 更新时间:2023-12-02 12:06:52 24 4
gpt4 key购买 nike

我在一个 pod 中运行我的应用程序,在另一个 pod 中运行 Mongo 数据库。
为了让我的应用程序成功启动,它需要知道运行 Mongo 的 IP 地址。

我有以下问题:

  • 我如何知道 Mongo pod IP 地址,以便我可以在我的应用程序中配置它。
  • 我的应用程序将在某些 IP 和端口上运行,这是作为某些配置文件的一部分提供的。但是由于这些是容器化的,并且 Kubernetes 分配了 Pod IP 地址,我的应用程序如何选择这个 IP 地址作为它自己的 IP?
  • 最佳答案

    您需要使用 Kubernetes 服务公开 mongodb。在 Services 的帮助下,应用程序不需要知道 Pod 的实际 IP 地址,您可以使用服务名称来解析 mongodb。

    引用:https://kubernetes.io/docs/concepts/services-networking/service/

    一个使用 mysql 的例子:

    apiVersion: v1
    kind: Service
    metadata:
    labels:
    name: mysql
    name: mysql
    spec:
    ports:
    - port: 3306
    selector:
    name: mysql
    ---
    apiVersion: v1
    kind: Pod
    metadata:
    name: mysql
    labels:
    name: mysql
    spec:
    containers:
    image: mysql
    name: mysql
    env:
    - name: MYSQL_ROOT_PASSWORD
    value: wppassword
    ports:
    - containerPort: 3306
    name: mysql

    如果有应用容器,在同一个命名空间,尝试使用mysql容器,可以直接使用 mysql:3306使用 POD IP 地址进行连接。和 mysql.namespace_name:3306如果应用程序位于不同的命名空间中。

    关于kubernetes - 在 Kubernetes 的 pod 内运行的应用程序的 IP 地址分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51467698/

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