Rancher in Docker バージョンアップスクリプト v2
毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
昔、以下の投稿をしてDockerで動かしたRancherをアップグレードするスクリプトを書いたのですが、
Rancher 2.6へバージョンアップするにあたりスクリプトを改修したので再度投稿です。
バージョン2とします。
Rancher 2.0 バージョンアップ - Qiita
https://qiita.com/ynott/items/2a631e907fa1850210fb
以下のページを参考にしました。
Rancher Docs: Upgrading Rancher Installed with Docker
https://rancher.com/docs/rancher/v2.6/en/installation/other-installation-methods/single-node-docker/single-node-upgrades/
1. シェルスクリプト
修正点は、以下の通りです。
- 既存RancherコンテナのIDを自動取得に変更
- 新しいバージョンのRancherバージョンを自動チェック
UPCOMING_VERSION
のみ指定してください。
#!/bin/bash -xe
export RANCHER_CONTAINER_ID=''
export UPCOMING_VERSION=v2.6.0
export LATEST_VERSION=$(curl -s https://registry.hub.docker.com/v1/repositories/rancher/rancher/tags | jq -r '.[].name' | sort -h | grep -v "-" | tail -1)
# UPCOMING_VERSIONの修正し直し漏れをチェック
if [ "${UPCOMING_VERSION}" == "${LATEST_VERSION}" ]
then
:
else
echo "$UPCOMING_VERSION is not match $LATEST_VERSION"
exit
fi
# 既存RancherコンテナのIDとインストールされているバージョンを取得
RANCHER_CONTAINER_ID=$(sudo docker ps -a --filter name=rancher --format "{{.ID}}")
RANCHER_CURRENT_VERSION_TAG=$(sudo docker ps -a --filter name=rancher --format "{{ .Image }}" | sed -ne 's/rancher\/rancher:\(v.*\)/\1/p')
docker stop $RANCHER_CONTAINER_ID
echo "RANCHER_CURRENT_VERSION_TAG is: $RANCHER_CURRENT_VERSION_TAG"
echo "RANCHER_CONTAINER_ID is: $RANCHER_CONTAINER_ID"
# 既存コンテナからバックアップボリュームコンテナを作成
docker create --volumes-from $RANCHER_CONTAINER_ID \
--name rancher-data rancher/rancher:$RANCHER_CURRENT_VERSION_TAG
# ボリュームコンテナからtarファイルを作成
docker run --volumes-from rancher-data -v $PWD:/backup \
alpine tar zcvf /backup/rancher-data-backup-$RANCHER_CURRENT_VERSION_TAG.tar.gz /var/lib/rancher
docker pull rancher/rancher:$UPCOMING_VERSION
# ボリュームコンテナを参照しつつ新しいRancherを起動
docker run -d --volumes-from rancher-data \
--restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /host/rancher:/var/lib/rancher \
-v /var/log/rancher/auditlog:/var/log/auditlog \
-e AUDIT_LEVEL=1 \
--privileged \
rancher/rancher:$UPCOMING_VERSION
2. まとめ
Rancher 2.6は画面が変わりすぎててビックリしました。
Author And Source
この問題について(Rancher in Docker バージョンアップスクリプト v2), 我々は、より多くの情報をここで見つけました https://qiita.com/ynott/items/4b95441e21f7c83547a9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .