我不断得到
错误:解析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
答案 0 :(得分:0)
您的配置有很多问题。例如:应该有一个容器部分和一个卷部分。每个容器都将指定一个volumeMount。
首先将定义简化为具有volumeMounts和volume的一个容器,然后考虑添加第二个容器(但保留一个容器部分!查找yaml列表)。
答案 1 :(得分:0)
正如社区指出的那样,您的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验证器上对其进行检查,对于example,您可以在此处找到您的Yaml,因为我将其保留在那里是为您提供的静态链接。
您可以在此article或直接在Deployments的Kubernetes文档中找到有关如何创建yaml文件的更多信息