如何解决我在带有秘密的kubernetes中部署Pod时发现CreateContainerConfigError
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
DB_URL: "BASE64"
---
apiVersion: v1
kind: Namespace
metadata:
name: my-ns
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: my-ns
name: my-api
spec:
selector:
matchLabels:
app: my-api
replicas: 1
revisionHistoryLimit: 5
template:
metadata:
labels:
app: my-api
spec:
containers:
- name: my-api
image: myimage:latest
ports:
- containerPort: 5000
env:
- name: DB_URL
valueFrom:
secretKeyRef:
name: mysecret
key: DB_URL
在kubernetes集群中部署以上yaml文件之后,我遇到了CreateContainerConfigError
。
解决方法
这是因为部署使用秘密mysecret
,该秘密必须存在于创建部署的名称空间中。部署的名称空间是my-ns
,但是秘密位于default
名称空间中,因为在秘密中您没有提到任何名称空间。
按如下所示更改秘密Yaml应该可以解决。
apiVersion: v1
kind: Secret
metadata:
name: mysecret
namespace: my-ns
type: Opaque
data:
DB_URL: "BASE64"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。