在主节点解析问题上部署 pod 的问题

Issue in deploying a pod on master node parsing issue

我正在测试部署两个 pods 一个在主节点和一个工作节点上用于学习目的。

我有以下 yaml 文件来在主节点上的集群上部署 pod。

apiVersion: v1 
kind: Pod
metadata:
name: edge-server
labels: 
    app: edge-server
spec:
 containers:
  - name:  tensor-keras
    image: tensor-keras:latest
    command: ["sleep"]
    args: ["infinity"]
    imagePullPolicy: Never
    ports:
    - containerPort: 31700
   nodeSelector:
       node_type: "kmaster" #also tried without quotes 

我已将主节点标记为 node_type kmaster,我正在检索以下错误
“错误解析第 15 行未找到预期的密钥”

非常感谢您的帮助

它可能不喜欢你的缩进。这有点古怪。您在一个文档中有多个缩进级别。我看到单缩进、双缩进和 4-space 缩进。 YAML 缩进非常重要,否则会生成错误的 JSON。试试这个:

apiVersion: v1 
kind: Pod
metadata:
  name: edge-server
  labels: 
    app: edge-server
spec:
  containers:
    - name:  tensor-keras
      image: tensor-keras:latest
      command: ["sleep"]
      args: ["infinity"]
      imagePullPolicy: Never
      ports:
      - containerPort: 31700
  nodeSelector:
    node_type: kmaster

试试这个,在 http://www.yamllint.com/ 中也验证过

apiVersion: v1 
kind: Pod
metadata:
name: edge-server
labels: 
    app: edge-server
spec:
    containers:
     - name:  tensor-keras
       image: tensor-keras:latest
       command: ["sleep"]
       args: ["infinity"]
       imagePullPolicy: Never
       ports:
        - containerPort: 31700
       nodeSelector:
          node_type: "kmaster"

nodeSelector应该和containers处于同一级别。我们总是可以用this K8s API reference来确认结构。

apiVersion: v1 
kind: Pod
metadata:
name: edge-server
labels: 
  app: edge-server
spec:
    containers:
    - name:  tensor-keras
      image: tensor-keras:latest
      command: ["sleep"]
      args: ["infinity"]
      imagePullPolicy: Never
      ports:
      - containerPort: 31700
    nodeSelector:
      node_type: "kmaster" #also tried without quotes