gpt4 book ai didi

kubernetes - Kubernetes nodeSelector在Pod,复制 Controller 和部署中不起作用

转载 作者:行者123 更新时间:2023-12-02 11:41:36 25 4
gpt4 key购买 nike

我正在尝试使用nodeSelector设置节点相似性,如下所述:https://kubernetes.io/docs/user-guide/node-selection/

但是,无论我使用Pod,复制 Controller 还是部署,都无法使kubectl创建正常工作。这是我得到的错误,并且类似的情况也会发生:

Error from server (BadRequest): error when creating "test-pod.yaml": Pod in version "v1" cannot be handled as a Pod: [pos 222]: json: expect char '"' but got char 't'



用“Deployment”或“ReplicationController”代替“Pod”,到处都是相同的错误。这是我的测试舱的Yaml文件:
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
ingress: yes

如果删除文件的nodeSelector部分,则pod会成功构建。这也适用于Deployments和Replication Controller。我确保已将正确的标签添加到节点。

任何帮助,将不胜感激!

最佳答案

在yaml中, token yes的计算结果为 bool(boolean) true(http://yaml.org/type/bool.html)

在内部,kubectl将yaml转换为json作为预处理步骤。您的节点选择器正在转换为"nodeSelector":{"ingress":true},当尝试将其解码为字符串到字符串映射时失败。

您可以像这样对字符串加引号,以强制将其视为字符串:ingress: "yes"

关于kubernetes - Kubernetes nodeSelector在Pod,复制 Controller 和部署中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42681568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com