如何在kubernetes中设置固定的Pod名称

时间:2020-05-30 06:48:47

标签: kubernetes

我想为每个吊舱维护不同的配置,因此计划根据吊舱名称从Spring cloud配置中获取属性。

例如: 云中的属性

PodName1.property1 =“ xxx” PodName2.property1 =“ yyy”;

每个吊舱的属性值将有所不同。计划基于容器名称Environment.get(“当前容器名称” +“ propertyName”)从云中获取属性。

所以我想设置固定的主机名/ pod名称

如果上述操作不可行,还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

如果您想为应用程序使用固定的pod名称,则可以使用statefulsets。 例如

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web # this will be used as prefix in pod name 
spec:
  serviceName: "nginx"
  replicas: 2 # specify number of pods that should be running
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: k8s.gcr.io/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: web

此模板将在默认名称空间中创建2个Nginx容器,其名称如下:

kubectl get pods -l app=nginx
NAME      READY     STATUS    RESTARTS   AGE
web-0     1/1       Running   0          1m
web-1     1/1       Running   0          1m

可以找到一个基本示例here