我试着用init容器准备环境变量,这样这些变量就可以在“实际”容器中使用。下面是我使用的基本代码:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
labels:
app.kubernetes.io/name: MyApp
spec:
replicas: 1 # You can adjust the number of replicas as needed
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: busybox:1.28
command: ['sh', '-c', 'echo here && echo $MY_VARIABLE && sleep 3600']
initContainers:
- name: init-myservice
image: busybox:1.28
command: ['sh', '-c', 'export MY_VARIABLE="some_value" && sleep 1']
字符串
但是,主容器无法识别我在initContainer中创建的变量。
你能帮我怎么做到这一点?
1条答案
按热度按时间f0ofjuux1#
你可以做的是为初始化容器和主容器定义一个共享卷。在初始化容器中,在共享卷中创建一个文件,并将所有必需的环境变量作为键值对包含在内。
然后在主容器中,从共享卷(source/shared-vol/myVars.txt)中的文件导出键值对,并运行启动脚本。