Kubernetes环境文件
环境示例Kubernetes环境文件,kubernetes,kubectl,Kubernetes,Kubectl,环境示例 MYSQL_PASSWORD=password MYSQL_DATABASE=db MYSQL_ROOT_PASSWORD=password MYSQL_USER=user 我创造了一个秘密 kubectl create secret generic prod-secrets --from-file=env.example mysql yaml文件中指定的机密 spec: containers: - name: mysql-container
MYSQL_PASSWORD=password
MYSQL_DATABASE=db
MYSQL_ROOT_PASSWORD=password
MYSQL_USER=user
我创造了一个秘密
kubectl create secret generic prod-secrets --from-file=env.example
mysql yaml文件中指定的机密
spec:
containers:
- name: mysql-container
image: mysql:dev
imagePullPolicy: "IfNotPresent"
envFrom:
- secretRef:
name: prod-secrets
ports:
- containerPort: 3306
# container (pod) path
volumeMounts:
- name: mysql-persistent-storage
mountPath: /data/db
Pod进入CrashLoopBackOff
这是来自kubectl描述pod的
环境变量来自:
prod secrets Secret可选:false
环境:
这个设置有什么问题
秘密输出:
kubectl describe secret prod-secrets
Name: prod-secrets
Namespace: default
Labels: <none>
Annotations: <none>
Type: Opaque
Data
====
env.example: 96 bytes
秘密显示正确
kubectl describe secret prod-secrets
Name: prod-secrets
Namespace: default
Labels: <none>
Annotations: <none>
Type: Opaque
Data
====
MYSQL_DATABASE: 7 bytes
MYSQL_PASSWORD: 8 bytes
MYSQL_ROOT_PASSWORD: 8 bytes
MYSQL_USER: 4 bytes
kubectl描述秘密产品秘密
名称:prod机密
名称空间:默认值
标签:
注释:
类型:不透明
资料
====
MYSQL_数据库:7字节
MYSQL_密码:8字节
MYSQL\u ROOT\u密码:8字节
MYSQL\u用户:4字节
我只运行1节点群集(1个主节点),这会导致此问题吗
发现并发布:
在env文件中将root指定为DB_USER,一旦我更改了它,它就开始工作了使用选项--from env file创建秘密
kubectl create secret prod-secrets \
--from-env-file=env.example
使用选项“从环境文件创建机密”
kubectl create secret prod-secrets \
--from-env-file=env.example
kubectl的输出描述秘密产品秘密必须发布,谢谢kubectl的输出描述秘密产品秘密必须发布,谢谢