K8s部署报错:v1版本deployment未注册无法处理如何排查
报错原因排查
- 核心触发原因:Kubernetes 资源
kind字段值大小写敏感,你的配置中写的是kind: deployment(小写开头),而apps/v1API组下注册的Deployment资源类型标准写法为首字母大写的Deployment,小写的deployment未被注册,因此直接触发该报错。 - 其他潜在拼写错误(修复核心问题后会依次触发,建议同步修正):
- 选择器字段
matchLebels拼写错误,正确字段名为matchLabels - Pod模板元数据字段
lebels拼写错误,正确字段名为labels - 环境变量名
MONGO_INITDB_ROOT_USERNAE拼写错误,正确名称为MONGO_INITDB_ROOT_USERNAME - 密钥引用字段
secretKeyref拼写错误,正确字段名为驼峰格式secretKeyRef
- 选择器字段
解决方法
将配置修正为以下内容后,重新执行kubectl apply -f <配置文件名.yaml>即可:
apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-deployment labels: app: mongodb spec: replicas: 1 selector: matchLabels: app: mongodb template: metadata: labels: app: mongodb spec: containers: - name: mongodb image: mongo ports: - containerPort: 27017 env: - name: MONGO_INITDB_ROOT_USERNAME valueFrom: secretKeyRef: name: mongodb-secret key: mongo-root-username - name: MONGO_INITDB_ROOT_PASSWORD valueFrom: secretKeyRef: name: mongodb-secret key: mongo-root-password
内容的提问来源于stack exchange,提问作者Idehen Scofield
相关产品推荐
相关产品推荐

