Ärgerliches Problem mit yaml, das ich nicht lösen kann
Ich bekomme immer
error: error parsing httpd-project-last.yaml.backup1: Fehler beim Konvertieren von YAML in JSON: yaml: line 45: erwarteten Schlüssel nicht gefunden
. Die Zeile ist also die mit key: password Ich weiß nicht, was ich tun soll. Ich ziehe jetzt eine Stunde an meinen Haaren und bekomme es immer wieder. Irgendwelche Tipps?
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
Wie die Community darauf hingewiesen hat, enthält Ihre yaml-Datei einige Fehler. Ich habe die Syntax korrigiert, damit sie einen Validierungstest besteht.
Falls Sie Probleme mit der Konfiguration haben, können Sie jederzeit eine andere Frage stellen.
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
Sie können es auf jedem YAML-Validator online überprüfen, zum Beispiel finden Sie Ihr Yaml hier, da ich es dort als statischen Link für Sie hinterlassen habe.
Weitere Informationen zum Erstellen von Yaml-Dateien finden Sie in diesem Artikel oder direkt in der Kubernetes-Dokumentation für Bereitstellungen