我正在尝试在部署时为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,而不是作为服务。
这是可能的吗?
答案 0 :(得分:4)
由于kubernetes'的动态特性,无法将静态IP分配给Pod。 IP层。
由于您不想附加服务(这是最好的方式),因此最接近的方法是将部署转换为有状态集。这将为Pod提供一个静态主机名,或多或少满足您的要求。
StatefulSet的第一个副本将被称为aws-test-mysql-0.<kubernetes.cluster.tld>
。