#wordpress #kubernetes #yaml
#wordpress #kubernetes #yaml
Вопрос:
- попытка следовать руководству kubernetes[1] Пример: развертывание WordPress и MySQL с постоянными томами;
- запустите команду ‘kubectl apply -f wordpress-deployment.yaml’ в google kubernetes с помощью cloudshell;
- получил эту ошибку: ошибка синтаксического анализа wordpress-deployment.yaml: ошибка преобразования YAML в JSON: yaml: строка 33: не удалось найти ожидаемый ‘:’
[1]https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/
/** ОБНОВЛЕНИЕ: Спасибо ! Я решил использовать настройку в один клик для среды разработки wordpress docker https://console.cloud.google.com/marketplace/details/google/wordpress **/
wordpress-deployment.yaml
apiVersion: v1
kind: Service
metadata:
name: wordpress
labels:
app: wordpress
spec:
ports:
- port: 80
selector:
app: wordpress
tier: frontend
type: LoadBalancer
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wp-pv-claim
labels:
app: wordpress
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: wordpress
labels:
app: wordpress
spec:
selector:
matchLabels:
app: wordpress
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress
tier: frontend
spec:
containers:
- image: wordpress:4.8-apache
name: wordpress
env:
- name: WORDPRESS_DB_HOST
value: 34.72.250.151
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-pass
key: password
- name: WORDPRESS_DB_USER
valueFrom:
secretkeyRef:
name: mysql-pass
ports:
- containerPort: 80
name: wordpress
volumeMounts:
- name: wordpress-persistent-storage
mountPath: /var/www/html
volumes:
- name: wordpress-persistent-storage
persistentVolumeClaim:
claimName: wp-pv-claim
Комментарии:
1. Вы проверили, не содержит ли ваш локальный файл YAML каких-либо специальных скрытых символов (например, ^I)? помогает «файл cat -etv» …
2. «cat -etv wordpress-deployment.yaml» — запустите это в той же папке, где wordpress-deployment. yaml сохранен.
3. cat -etv wordpress-deployment. селектор yaml: $ app: wordpress$ уровень интерфейса: интерфейс $ тип: LoadBalancer $ — $ apiVersion: v1$ вид: PersistentVolumeClaim$ метаданные:$ имя: wp-pv-claim$ метки: $ приложение: wordpress $ спецификация: $ accessModes:$ — ReadWriteOnce$ ресурсы:$ запросы:$ хранилище: 20Gi $ — $
4. apiVersion: apps / v1 # для версий до 1.9.0 используйте apps/v1beta2$ вид: Развертывание $ метаданные:$ имя: wordpress$ метки:$ приложение: wordpress $ спецификация: $ селектор: $ Метки соответствия:$ приложение: wordpress$ уровень: интерфейс $ стратегия:$ тип: воссоздать $ шаблон: $метаданные: $ labels:$ app: wordpress $ уровень: интерфейс $ спецификация: $
5. контейнеры:$ — изображение: wordpress: 4.8-apache$ имя: wordpress $ env:$ — имя: WORDPRESS_DB_HOST $ значение: 34.72.250.151$ — имя: WORDPRESS_DB_PASSWORD $ Значение из:$ secretKeyRef:$ имя: mysql-передача $ ключ: пароль $ — имя: WORDPRESS_DB_USER $ Значение из-за—^ Z $ secretkeyRef:$ name: mysql-pass $
Ответ №1:
В приведенном ниже фрагменте кода в файле yaml есть 3 проблемы.
-
В приведенном ниже фрагменте есть пробел после valueFrom: key, удалите пробел после «:»
-
В ключе secretKeyRef ‘K’ должно быть в верхнем регистре (secretKeyRef).
-
В secretKeyRef отсутствует значение ‘key’.
- name: WORDPRESS_DB_USER valueFrom: secretkeyRef: name: mysql-pass
Должно выглядеть так.
- name: WORDPRESS_DB_USER
valueFrom:
secretKeyRef:
name: mysql-pass
key: username
Спасибо,
Комментарии:
1. service / wordpress без изменений persistentvolumeclaim/ wp-pv-утверждение без изменений ошибка: ошибка проверки «wordpress-deployment.yaml»: ошибка проверки данных: [Ошибка проверки (Deployment.spec.template.spec.volumes[0].PersistentVolumeClaim): неизвестное поле «clahiimName» в io.k8s.api.core.v1.PersistentVolumeClaimVolumeSource, ошибка проверки (Deployment.spec.template.spec.volumes[0].PersistentVolumeClaim): отсутствует обязательное поле «claimName» в io.k8s.api.core.v1.PersistentVolumeClaimVolumeSource]; если вы решите игнорировать эти ошибки, отключите проверку с помощью —validate=false
2. Ошибка выглядит как орфографическая ошибка в слове «claimName» (упомянутом как clahiimName) в файле yaml. Не могли бы вы, пожалуйста, исправить это.
3. Спасибо! Я попытался использовать настройку one click для среды разработки wordpress docker console.cloud.google.com/marketplace/details/google/wordpress
Ответ №2:
Чтобы избежать опечаток, я решил использовать настройку one click для среды разработки wordpress docker https://console.cloud.google.com/marketplace/details/google/wordpress