2017-03-08 40 views
1

工作我想为这里讨论设置使用nodeSelector节点亲和力:https://kubernetes.io/docs/user-guide/node-selection/Kubernetes nodeSelector不豆荚,复制控制器和部署

然而,不管我用一个吊舱,复制控制器或部署,我无法让kubectl创建正常工作。这是我的错误,这一切同样发生了:创建“测试pod.yaml”时错误:从服务器(错误请求)

错误波德版本“V1”不能作为处理的波德:[pos 222]:json:expect char''''但是得到char't'

替换为“Pod”的“Deployment”或“ReplicationController”,并且它到处都是相同的错误。测试窗格:

apiVersion: v1 
kind: Pod 
metadata: 
    name: nginx 
    labels: 
    env: test 
spec: 
    containers: 
    - name: nginx 
    image: nginx 
    imagePullPolicy: IfNotPresent 
    nodeSelector: 
    ingress: yes 

如果我删除文件的nodeSelector部分,po d成功建立。这也适用于部署和复制控制器。我确保将适当的标签添加到节点。

任何帮助,将不胜感激!

+0

这可能是你正在使用此术语。假设在创建一个配置时,保留在另一个上下文中使用的密钥。叫它* myIngress *并且看看会发生什么。 –

+0

啊是的。当我意外地在那里(没有引用)留下一个“真实”的时候,我也有同样的想法。 – 3cheesewheel

回答

0

在YAML,令牌yes评估为布尔truehttp://yaml.org/type/bool.html

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

你可以引用字符串这样迫使它被作为一个字符串处理: ingress: "yes"

+0

谢谢!此修复工作。 – cygnus8595

相关问题