如何在kubernetes容器中创建环境变量
我试图在kubernetes容器中传递一个环境变量 到目前为止我做了什么?如何在kubernetes容器中创建环境变量,kubernetes,Kubernetes,我试图在kubernetes容器中传递一个环境变量 到目前为止我做了什么? 创建部署 kubectl创建部署foo--image=foo:v1 创建节点端口服务并公开端口 kubectl公开部署/foo--type=NodePort--port=9000 看到豆荚了吗 kubectl获得吊舱 转储配置(以便添加环境变量) kubectl获取部署-o yaml>dev/deployment.yaml kubectl get svc-o yaml>dev/services.yaml kubectl
- 创建部署
kubectl创建部署foo--image=foo:v1
- 创建节点端口服务并公开端口
kubectl公开部署/foo--type=NodePort--port=9000
- 看到豆荚了吗
kubectl获得吊舱
- 转储配置(以便添加环境变量)
kubectl获取部署-o yaml>dev/deployment.yaml
kubectl get svc-o yaml>dev/services.yaml
kubectl获取pods-o yaml>dev/pods.yaml
- 将env变量添加到pods
环境:
- 姓名:富凯 值:“你好”
- 删除svc、POD和部署
kubectl delete-f dev/--recursive
- 应用配置
kubectl apply-f dev/--recursive
- 验证环境参数
kubectl描述吊舱
为什么验证步骤不显示环境变量?因为问题已在注释部分解决 如果您想将env设置为pods,我建议您使用setsub
kubectl set env--help
将提供更多详细信息,例如列出环境并创建新环境
Examples:
# Update deployment 'registry' with a new environment variable
kubectl set env deployment/registry STORAGE_DIR=/local
# List the environment variables defined on a deployments 'sample-build'
kubectl set env deployment/sample-build --list
部署支持POD和复制集的声明性更新。POD通常不会直接在集群上启动。相反,POD通常由replicaSet管理,replicaSet由部署管理
以下线程讨论
kubectl create secret generic jwt-secret --from-literal=JWT_KEY=my_awesome_jwt_secret_code
您好,您能验证部署yaml中的变量吗?您应该修改部署,如果pod是由部署
kubectl get deploy foo-o yaml创建的,那么直接修改pod不是一个好主意,因为命令会在pod yaml文件中添加env变量。我不知道它们是否也可以在部署中传递。是吗?我看到env也可以用kind:Pod来表示。无论如何,在部署yaml中声明env是可行的。谢谢你的建议。你能不能解释一下,当环境变量直接添加到pod规范中时,它为什么不起作用?我在问题中补充了这方面的细节。请也承认这一点。我不知道具体是什么,你正在努力。尽管如此,我还是更新了我的答案,添加了更多的描述来列出、添加或删除部署时的env变量。现在我问的问题听起来很有趣。现在接受它哈哈,没问题,:)德尔阿耶杜鲁斯特阿耶
process.env.MONGO_URI
kubectl create secret generic jwt-secret --from-literal=JWT_KEY=my_awesome_jwt_secret_code
spec:
containers:
- name: auth
image: lord/auth
env:
- name: MONGO_URI
value: "mongodb://auth-mongo-srv:27017/auth"
- name: JWT_KEY
valueFrom:
secretKeyRef:
name: jwt-secret
key: JWT_KEY
process.env.MONGO_URI
process.env.JWT_KEY