Релиз СПО v1.5.1
Требуемые версии:
Продукт | Версия |
---|---|
infra | 1.5.0 |
monq | 6.4.0+ |
В обновлении:
Будет произведено обновление redis
Продукт | Новая версия |
---|---|
infra | 1.5.1 |
Уровень простоя - простой на время обновления redis.
Обновление redis
Выполнить предрелизную подготовку
Проверить соответствие текущей версии инфраструктуры:
kubectl get cm -n infra infra -o=jsonpath={.data.version}
K8S (deployment, для обновления инсталляций из образа VM)
- Создать РК БД redis:
mkdir -p /backup/redis
cp -r /storage/redis* /backup/redis/
- Получить адрес локального docker registry:
registryUrl=$(kubectl get deploy -n infra redis -o jsonpath='{.spec.template.spec.containers[0].image}' | sed -nE 's/(.*)\/(.*)/\1/p')
- Скачать образы и добавить их в локальный docker registry (необходимо наличие доступа в сеть Интернет):
docker pull redis:6.2.6
docker tag redis:6.2.6 ${registryUrl}/redis:6.2.6
docker push ${registryUrl}/redis:6.2.6
docker rmi redis:6.2.6
В случае отсутствия доступа в сеть Интернет необходимо выполнить следующие действия:
На пк с доступом в сеть Интернет скачать images и сохранить в файл:
docker pull redis:6.2.6
docker save -o redis.img redis:6.2.6
Передать файл redis.img
на сервер monq, выполнить импорт и добавить образы в локальный registry:
docker load -i redis.img
docker tag redis:6.2.6 ${registryUrl}/redis:6.2.6
docker push ${registryUrl}/redis:6.2.6
docker rmi redis:6.2.6
- Обновить redis:
kubectl scale deploy -n infra redis --replicas=0
kubectl set image -n infra deployment/redis redis=${registryUrl}/redis:6.2.6
kubectl scale deploy -n infra redis --replicas=1
- Выполнить проверку:
- проверить состояние поды redis
kubectl get po -n infra -l app=redis
- авторизоваться в интерфейсе monq;
- убедиться в отсутствии ошибок;
- Зафиксировать версию инфраструктурного релиза:
cat <<EOF | kubectl apply -f -
apiVersion: v1
data:
version: 1.5.1
kind: ConfigMap
metadata:
name: infra
namespace: infra
EOF
Дополнительно
Обновление Docker инсталяций
- Создать РК БД redis:
CONTAINER_NAME="redis"
mkdir -p /backup/${CONTAINER_NAME}
cp -r /storage/${CONTAINER_NAME}/* /backup/${CONTAINER_NAME}/
- Обновить redis:
CONTAINER_NAME="redis"
VERSION="6.2.6"
docker stop ${CONTAINER_NAME}
docker rm ${CONTAINER_NAME}
docker run -d \
--name ${CONTAINER_NAME} \
-h ${CONTAINER_NAME} \
-p 6379:6379 \
--restart=unless-stopped \
-v /storage/${CONTAINER_NAME}/data:/data \
-v /storage/${CONTAINER_NAME}/etc/redis/:/etc/redis/ \
redis:${VERSION} redis-server /etc/redis/redis.conf