簡體   English   中英

部署時如何使用Kubernetes將靜態IP分配給Pod

[英]How to assign a static IP to a pod using Kubernetes on deployment

我正在嘗試在部署時將靜態IP地址分配給Pod。

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

我正在嘗試在“種類:部署”而不是服務上部署具有靜態IP的Pod。

這可行嗎?

由於kubernetes的IP層具有動態特性,因此無法將靜態IP分配給Pod。

由於您不希望附加服務(這是恕我直言的最佳方法),因此一種替代方案是將Deployment轉換為StatefulSet。 這將為Pod提供一個靜態主機名,該主機名或多或少可以滿足您的要求。

StatefulSet的第一個副本將稱為aws-test-mysql-0.<kubernetes.cluster.tld>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM