Kubernetes:将 YAML 转换为 JSON 时出错:yaml:第 12 行:未找到预期的密钥

Kubernetes: Error converting YAML to JSON: yaml: line 12: did not find expected key

我正在尝试将 ciao 添加到我的 Kubernetes 单节点集群中,每次我 运行 kubectl apply -f 命令时,我都会 运行ning 进入错误“error converting YAML to JSON:YAML:第 12 行:未找到预期的密钥“。我查看了其他解决方案,但它们没有帮助。任何帮助将不胜感激。

kind: Namespace
metadata:
  name: monitoring
---
apiVersion: v1
kind: Secret
metadata:
  name: ciao
  namespace: monitoring
data:
  BASIC_AUTH_USERNAME: YWRtaW4=
  BASIC_AUTH_PASSWORD: cGFzc3dvcmQ=
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ciao
  namespace: monitoring
spec:
  replicas: 1
  template:
  metadata:
  selector:
      labels:
        app: ciao
    spec:
      containers:
      - image: brotandgames/ciao:latest
        imagePullPolicy: IfNotPresent
        name: ciao
        volumeMounts: # Emit if you do not have persistent volumes
        - mountPath: /app/db/sqlite/
          name: persistent-volume
          subPath: ciao
        ports:
        - containerPort: 3000
        resources:
          requests:
            memory: 256Mi
            cpu: 200m
          limits:
            memory: 512Mi
            cpu: 400m
        envFrom:
        - secretRef:
            name: ciao
---
apiVersion: v1
kind: Service
metadata:
  name: ciao
  namespace: monitoring
spec:
  ports:
    - port: 80
      targetPort: 3000
      protocol: TCP
  type: NodePort
  selector:
    app: ciao

您的部署定义中似乎有一个缩进。这应该有效:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ciao
  namespace: monitoring
  labels:
    app: ciao
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ciao
  template:
    metadata:
      labels:
        app: ciao
    spec:
      containers:
      - image: brotandgames/ciao:latest
        imagePullPolicy: IfNotPresent
        name: ciao
        volumeMounts: # Emit if you do not have persistent volumes
        - mountPath: /app/db/sqlite/
          name: persistent-volume
          subPath: ciao
        ports:
        - containerPort: 3000
        resources:
          requests:
            memory: 256Mi
            cpu: 200m
          limits:
            memory: 512Mi
            cpu: 400m
        envFrom:
        - secretRef:
            name: ciao

请记住,在此定义中,PV persistent-volume 需要存在于您的 cluster/namespace 中。