如何在部署时使用 Kubernetes 将静态 IP 分配给 pod

2024-06-18

我正在尝试为部署时的 Pod 分配静态 IP 地址。

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: aws-test-mysql
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: aws-test-mysql
    spec:
      containers:
      - name: aws-test-mysql
        image: 461677341235123.dkr.ecr.us-east-1.amazonaws.com/aws-test-mysql
        securityContext:
          privileged: true
        ports:
        - containerPort: 3306
          hostIP: 172.20.32.50
          hostPort: 3306
        resources:
          requests:
            cpu: 100m
      imagePullSecrets:
        - name: ecrkey

正如你所看到的,当我描述我的 pod 时,它是使用另一个 IP 创建的。

test-mbp1:aws test$ kubectl describe pods | grep IP
IP:     100.96.1.3

我正在尝试在“kind: Deployment”上部署一个具有静态 IP 的 Pod,而不是作为服务。

这可能吗 ?


由于 kubernetes IP 层的动态特性,无法将静态 IP 分配给 Pod。

由于您不想附加服务(恕我直言,这是最好的方法),一个接近的替代方案是将 Deployment 转换为 StatefulSet。这将为 Pod 提供一个静态主机名,或多或少满足您的要求。

StatefulSet 的第一个副本将被称为aws-test-mysql-0.<kubernetes.cluster.tld>.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在部署时使用 Kubernetes 将静态 IP 分配给 pod 的相关文章

随机推荐