Kubernetes 我可以为每个复制副本使用replication controller为容器定义变量吗?
我是否可以使用replication controller为每个复制副本定义容器的环境变量 例如: 我有一个复制控制器:Kubernetes 我可以为每个复制副本使用replication controller为容器定义变量吗?,kubernetes,Kubernetes,我是否可以使用replication controller为每个复制副本定义容器的环境变量 例如: 我有一个复制控制器: apiVersion: v1 kind: ReplicationController metadata: name: bdirest labels: component: bdirest role: publicapi spec: replicas: 2 template: metadata: labels:
apiVersion: v1
kind: ReplicationController
metadata:
name: bdirest
labels:
component: bdirest
role: publicapi
spec:
replicas: 2
template:
metadata:
labels:
component: bdirest
role: publicapi
spec:
containers:
- name: bdirest
image: XXX.dkr.ecr.us-west-2.amazonaws.com/rest-latest:XX.XX
imagePullPolicy: Always
env:
- name: MY_RC_NAME
value: bdirest
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: "JAVA_OPTIONS"
value: "-Xmx1G -Xms256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/bdi/dumps/jetty -Dconfig.dir.path=/bdi/conf -Dlog4j.configurationFile=/bdi/logs/rest/log4j2.properties -Djetty.logging.dir=/bdi/logs/rest -DMY_RC_NAME=$(MY_RC_NAME)"
ports:
- containerPort: 8080
name: http
我说过我希望这个组件有两个副本,但是我想定义第一个副本将有某种唯一的变量,我可以在组件内部使用它,第二个副本将有它自己的唯一变量
我不想使用“metadata.NAME”中的pods变量,比如“MY_POD_NAME”,因为我希望该变量始终使用相同的变量,并且不会在每次杀死POD时更改
有可能吗?据我所知,kubernetes没有这项功能。Kubernetes将每个吊舱作为单独的实体进行管理 如果一个POD死了,kubernetes会用不同的主机名和IP启动另一个POD实例 在这种情况下,您可能需要使用共享持久性存储(如数据库)来管理此逻辑