部署"nodejs-deployment"无效 spec.template.metadata.labels: 无效值



我是Kubernetes的新手,我正在尝试将nodejs服务部署到Kubernetes。为此,我创建了一个docker映像并将其上传到dockerhub,最后我创建了包含完成部署所需的所有配置的部署文件。部署文件如上所示。然后,我执行了命令"kubectl apply-f deployment_local.yaml",遇到了以下错误:"*spec.template.metadata.labels:无效的值映射[string]string{quot;app":nodejs\u00a0\u00a0;}:selector与模板labels不匹配;

我正试图修复这个错误,但我无法修复。请帮助理解这个错误,因为我挣扎了很多时间。

apiVersion: apps/v1
kind: Deployment
metadata:
name: nodejs-deployment
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: nodejs
template:
metadata:
labels:
app: nodejs  
spec:
containers:
- name: nodeapp
image: lucasseabra/nodejs-starter
---
apiVersion: v1
kind: Service
metadata:
name: nodejs-entrypoint
namespace: default
spec:
type: NodePort
selector:
app: nodejs
ports:
- port: 3000
targetPort: 3000
nodePort: 30001

正如错误消息试图告诉您的那样,有两个"不间断空间";nodejs:map[string]string{"app":"nodejsu00a0u00a0"}后的字符

我想这是从网页复制粘贴的副作用

如果你甚至做一个";"全选";在你这里发布的问题上,你会看到SO已经将这两个字符转换成了正常的空格,但它们确实出现在选择扩展中,超过了";nodejs";文本

如果您的编辑器无法向您显示字符,则手动重新键入标签,或尝试复制此标签(这只是您的标签,但删除了尾部空格(

apiVersion: apps/v1
kind: Deployment
metadata:
name: nodejs-deployment
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: nodejs
template:
metadata:
labels:
app: nodejs
spec:
containers:
- name: nodeapp
image: lucasseabra/nodejs-starter
---
apiVersion: v1
kind: Service
metadata:
name: nodejs-entrypoint
namespace: default
spec:
type: NodePort
selector:
app: nodejs
ports:
- port: 3000
targetPort: 3000
nodePort: 30001

相关内容

最新更新