我想为每个吊舱维护不同的配置,因此计划根据吊舱名称从Spring cloud配置中获取属性。
例如: 云中的属性
PodName1.property1 =“ xxx” PodName2.property1 =“ yyy”;
每个吊舱的属性值将有所不同。计划基于容器名称Environment.get(“当前容器名称” +“ propertyName”)从云中获取属性。
所以我想设置固定的主机名/ pod名称
如果上述操作不可行,还有其他选择吗?
答案 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。