2017-03-08 41 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

相關問題