部署 "nodejs-deployment" 无效 spec.template.metadata.labels:无效值
The Deployment "nodejs-deployment" is invalid spec.template.metadata.labels: Invalid value
我是 Kubernetes 的新手,我正在尝试将 nodejs 服务部署到 kubernetes。为此,我创建了一个 docker 图像并将其上传到 dockerhub,最后我创建了一个部署文件,其中包含完成部署所需的所有配置。
部署文件如上所示。然后我执行了命令 'kubectl apply -f deployment_local.yaml' 并遇到了这个错误:“*spec.template.metadata.labels:Invalid value map[string]string{"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
之后有两个 "non-breaking space" characters:map[string]string{"app":"nodejs\u00a0\u00a0"}
我猜这是从网页复制粘贴的副作用
如果您甚至对此处发布的问题执行“select all”,您会看到 SO 已将两个字符转换为普通空格,但它们确实出现在 selection 扩展超过“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
我是 Kubernetes 的新手,我正在尝试将 nodejs 服务部署到 kubernetes。为此,我创建了一个 docker 图像并将其上传到 dockerhub,最后我创建了一个部署文件,其中包含完成部署所需的所有配置。
部署文件如上所示。然后我执行了命令 'kubectl apply -f deployment_local.yaml' 并遇到了这个错误:“*spec.template.metadata.labels:Invalid value map[string]string{"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
之后有两个 "non-breaking space" characters:map[string]string{"app":"nodejs\u00a0\u00a0"}
我猜这是从网页复制粘贴的副作用
如果您甚至对此处发布的问题执行“select all”,您会看到 SO 已将两个字符转换为普通空格,但它们确实出现在 selection 扩展超过“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