繁体   English   中英

在kubernetes中的Pod中运行的应用程序的IP地址分配

[英]IP Address assignment for the application running inside the pod in kubernetes

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

我有以下问题:

  1. 我如何知道Mongo Pod IP地址,以便可以在应用程序中配置它。
  2. 我的应用程序将在某些IP和端口上运行,这是某些配置文件的一部分。 但是当这些容器被容器化并且Kubernetes分配Pod IP地址时,我的应用程序如何选择该IP地址作为其自己的IP?

您需要使用Kubernetes Services公开mongodb。 借助服务,无需应用程序知道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容器,则可以使用POD IP地址直接使用mysql:3306与之连接。 以及mysql.namespace_name:3306如果该应用程序位于其他名称空间中)。

暂无
暂无

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

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