Этот не является шаблоном, скажем так. Может быть проблема в том, что вы переключаете версию на более высокую, поскольку она может быть оптимизирована для этого конкретного MySQL 5.7
Если вы действительно хотите использовать шаблон, который можно просто обновить до более высокой версии в одном go, вы должны рассмотреть совет @ Хар sh Манвар , используя MySQL - Диаграмма руля .
Сгенерированные вами ошибки этой частью StatefulSet:
readinessProbe:
exec:
# Check we can execute queries over TCP (skip-networking is off).
command: ["mysql", "-h", "127.0.0.1", "-e", "SELECT 1"]
initialDelaySeconds: 5
periodSeconds: 2
timeoutSeconds: 1
Это означает, что pod
проверит, может ли он подключиться к БД, используя команду mysql -h 127.0.0.1 -e SELECT 1
. Поле periodSeconds
указывает, что kubelet должен выполнять проверку готовности каждые 2 секунды. Поле initialDelaySeconds
сообщает кубелету, что ему следует подождать 5 секунд перед выполнением первого исследования.
Вы можете изменить эти значения на более высокие, чтобы убедиться, что это работает.
Если вы предоставляете режим Подробнее о других ошибках, которые вы ожидаете, мы постараемся помочь в дальнейшем.
Также, если вы сначала развернули 5.7
, а затем попытались просто изменить версию, это может не сработать, поскольку некоторые ресурсы уже были созданы, например volumes
и latest
не будут работать с ресурсами предыдущей версии. Вам следует подумать о том, чтобы запустить это чистое пространство имен или удалить ранее созданные объекты.
Вы можете выполнить Очистка :
- Отмена
SELECT @@server_id
l oop, нажав Ctrl + C на своем терминале или запустив следующее с другого терминала:
kubectl delete pod mysql-client-loop --now
Удалить StatefulSet. Это также начинает завершать стручки.
kubectl delete statefulset mysql
Убедитесь, что стручки исчезли. Они могут занять некоторое время, чтобы завершить sh завершение.
kubectl get pods -l app=mysql
Вы будете знать, что Бобы закончились, когда вышеприведенное вернет:
No resources found.
- Удалите ConfigMap, Services и PersistentVolumeClaims.
kubectl delete configmap,service,pvc -l app=mysql
Если вы вручную настроили PersistentVolumes, вам также необходимо вручную удалить их, а также освободить базовые ресурсы. Если вы использовали динамический c поставщик, он автоматически удаляет PersistentVolumes, когда видит, что вы удалили PersistentVolumeClaims. Некоторые динамические c провайдеры (например, для EBS и PD) также освобождают базовые ресурсы после удаления PersistentVolumes.