Раздражающая проблема с yaml, которую я не могу преодолеть - PullRequest
0 голосов
/ 08 октября 2018

Я получаю

ошибка: ошибка синтаксического анализа httpd-project-last.yaml.backup1: ошибка преобразования YAML в JSON: yaml: строка 45: не найден ожидаемый ключ

.Таким образом, строка с ключом : пароль Я не знаю, что делать.Потянув мои волосы на час, я продолжаю их получать.Любые советы?

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: webandstorage
spec:
  selector:
    matchLabels:
      app: apache
  replicas: 1 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: apache
    spec:
      containers:
      - name: httpd
        image: httpd:latest
        volumeMounts:
        - name: storage
          mountPath: /usr/local/apache2/htdocs/
      volumes:
        - name: storage
          persistentVolumeClaim:
            claimName: pvc1
      dnsPolicy: ClusterFirst
      dnsConfig:
       nameservers:
         - 8.8.8.8
    spec:
      containers:
      - name: mysql
        image: mysql:latest
        volumeMounts:
        - name: data3
          mountPath: /var/lib/mysql
      volumes:
      - name: storage
        persistentVolumeClaim:
            claimName: data
        env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              key: password
              name: dbparola
       ports:
       - protocol: TCP
         port:8080

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Как указало сообщество, в вашем файле yaml есть некоторые ошибки.Я исправил синтаксис, поэтому он проходит проверочный тест.

Если у вас возникнут проблемы с конфигурацией, вы всегда можете задать другой вопрос.

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 kind: Deployment metadata: name: webandstorage spec: replicas: 1 # tells deployment to run 2 pods matching the template selector: matchLabels: app: apache template: metadata: labels: app: apache spec: containers: - name: httpd image: httpd:latest volumeMounts: - name: storage mountPath: /usr/local/apache2/htdocs/ volumes: - name: storage persistentVolumeClaim: claimName: pvc1 dnsPolicy: ClusterFirst dnsConfig: nameservers: - 8.8.8.8 spec: containers: - name: mysql image: mysql:latest volumeMounts: - name: data3 mountPath: /var/lib/mysql volumes: - name: storage persistentVolumeClaim: claimName: data env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: key: password name: dbparola ports: - protocol: TCP port:8080

Вы можете проверить это на любом валидаторе YAML онлайн, для примера вы можете найти свой yaml здесь, так как я оставил его там в качестве статической ссылки длявы.

Более подробную информацию о том, как создавать файлы yaml, можно найти в этой статье или непосредственно в документации Kubernetes для Развертывания

0 голосов
/ 08 октября 2018

Есть довольно много проблем с вашей конфигурацией.Например: должен быть один раздел контейнеров и один раздел томов.В каждом контейнере должен быть указан параметр volumeMount.

Начните с сокращения вашего определения до одного контейнера с помощью volumeMounts и volume, а затем подумайте о добавлении во второй контейнер (но сохраняя один раздел контейнеров! Просмотрите списки yaml).

...