Contrail Networking リリース 2005 以降では、Contrail Ansible Deployer コンテナを使用して Contrail Networking の ZIU(ゼロ インパクト アップグレード)を実行できるようになりました。Contrail Ansible Deployer コンテナ イメージは、 で hub.juniper.net/contrailホストされている Juniper Networks Contrail Container Registry から読み込むことができます。
Contrail Ansible Deployer コンテナを使用して Contrail Networking の ZIU(Zero Impact Upgrade)を実行するには、このドキュメントの手順を使用します。このZIUにより、ネットワークのダウンタイムを最小限に抑えながら、Contrail Networkingをアップグレードできます。
この手順は、Ansible deployer コンテナを使用して ZIU を実行する方法を示しています。Contrail Networking リリース 2005 からリリース 2008 へのアップグレードで実行する手順の代表的な例を示しています。
Ansible deployer を使用して ZIU を実行するには、次の手順にしたがってください。
- ターゲット アップグレード リリースの contrail-ansible-deployer ファイルをプルします。この手順は通常、環境内で実行されている Contrail コントローラから実行されますが、アップグレード中の導入環境にネットワーク接続がある別のサーバーから実行することもできます。
この手順では、Juniper Networks Contrail Container Registry から 2008 イメージを読み込む方法を示します。ただし、プライベート レジストリからファイルを読み込むには、値を変更することもできます。
Juniper Networks Contrail Container Registry は、 で hub.juniper.net/contrailホストされています。レジストリへのアクセスに必要な認証情報が必要な場合は、電子メール mailto:contrail-registry@juniper.net。
以下のコマンドを入力して、 contrail-ansible-deployer レジストリからファイルを取得します。
sudo docker login -u <username> -p <password> hub.juniper.net
sudo docker pull hub.juniper.net/contrail/contrail-kolla-ansible-deployer:2008.<contrail_container_tag>
どこ:
usernameレジストリにアクセスするユーザー名。必要な場合は、電子メール mailto:contrail-registry@juniper.net とpassword資格情報を取得usernameしてください。
password— レジストリにアクセスするためのパスワード。必要な場合は、電子メール mailto:contrail-registry@juniper.net とpassword資格情報を取得usernameしてください。
contrail_container_tag—ターゲットの Contrail Networking リリースのコンテナ タグ ID。すべての Contrail リリース 20 ソフトウェアはcontrail_container_tag、README Access から Contrail Networking Registry 20xx にアクセスできます。
- Contrail Ansible Deployer を起動します。
docker run -t --net host -d --privileged --name contrail-kolla-ansible-deployer hub.juniper.net/contrail/contrail-kolla-ansible-deployer:2008.<contrail_container_tag>
- ファイルに instances.yaml 移動して開いて編集します。
このファイルは instances.yaml 、最初にセットアップをデプロイするために使用されました。を instances.yaml Contrail Ansible Deployer に読み込み、サポート対象のアップグレード バージョンに合じて編集できます。
VIをエディタとして使用するContrail Release 2008 Target Upgrade Example:
docker cp instances.yaml contrail-kolla-ansible-deployer:/root/contrail-ansible-deployer/config/instances.yaml
docker exec -it contrail-kolla-ansible-deployer bash
cd /root/contrail-ansible-deployer/config/
vi instances.yaml
- 既存の CONTRAIL_CONTAINER_TAG デプロイから instances.yaml ファイル内の目的のバージョンタグに更新します。この変数は CONTRAIL_CONTAINER_TAG contrail_configuration: 、instances.yaml ファイル内の階層にあります。
すべての Contrail リリース 20 ソフトウェアはCONTRAIL_CONTAINER_TAG、README Access から Contrail Networking Registry 20xx にアクセスできます。
インスタンスの例を次に示します。ymlファイル設定の例です。
contrail_configuration:
CONTRAIL_CONTAINER_TAG: "2008.121"
CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB: "2"
DATABASE_NODEMGR__DEFAULTS__minimum_diskGB: "2"
JVM_EXTRA_OPTS: "-Xms1g -Xmx2g"
VROUTER_ENCRYPTION: FALSE
LOG_LEVEL: SYS_DEBUG
CLOUD_ORCHESTRATOR: kubernetes
- contrail ansible deployer コンテナ内から ziu.yml プレイブック ファイルを実行して、コントロール プレーンをアップグレードします。
Contrail Networking リリース 2005 から Contrail Networking リリース 2008 への場合:
ziu.yml プレイブック ファイルを実行して、コントロール プレーンをアップグレードします。
sudo -E ansible-playbook -v -e orchestrator=openstack -e config_file=instances.yaml playbooks/ziu.yml
Contrail Networking リリース 2011 以降の場合:
ziu.ymlプレイブックファイルのコントローラステージを実行して、コントロールプレーンをアップグレードします。
sudo -E ansible-playbook -v -e stage=controller -e orchestrator=openstack -e config_file=../instances.yaml playbooks/ziu.yml
- install_openstack.yml プレイブック ファイルを実行して、Openstack プラグインをアップグレードします。
Contrail Networking リリース 2005 から Contrail Networking リリース 2008 への場合:
sudo -E ansible-playbook -v -e orchestrator=openstack -e config_file=instances.yaml playbooks/install_openstack.yml
Contrail Networking リリース 2011 以降の場合:
sudo -E ansible-playbook -v -e stage=openstack -e orchestrator=openstack -e config_file=../instances.yaml playbooks/ziu.yml
- コマンドを
contrail-status
入力してアップグレード ステータスを監視します。すべてのポッドが状態に達し、 running すべてのサービスが状態に達していることを確認します active 。
この contrail-status
コマンドは、アップグレードに成功した後、この出力を提供します。
メモ:
読みやすくするために、一部の出力フィールドとデータが削除されています。
Original
Pod Service Name State
redis contrail-external-redis running
rsyslogd running
analytics api contrail-analytics-api running
analytics collector contrail-analytics-collector running
analytics nodemgr contrail-nodemgr running
analytics provisioner contrail-provisioner running
analytics-alarm alarm-gen contrail-analytics-alarm-gen running
analytics-alarm kafka contrail-external-kafka running
analytics-alarm nodemgr contrail-nodemgr running
analytics-alarm provisioner contrail-provisioner running
analytics-snmp nodemgr contrail-nodemgr running
analytics-snmp provisioner contrail-provisioner running
analytics-snmp snmp-collector contrail-analytics-snmp-collector running
analytics-snmp topology contrail-analytics-snmp-topology running
config api contrail-controller-config-api running
config device-manager contrail-controller-config-devicemgr running
config dnsmasq contrail-controller-config-dnsmasq running
config nodemgr contrail-nodemgr running
config provisioner contrail-provisioner running
config schema contrail-controller-config-schema running
config stats contrail-controller-config-stats running
config svc-monitor contrail-controller-config-svcmonitor running
config-database cassandra contrail-external-cassandra running
<trimmed>
vrouter kernel module is PRESENT
== Contrail control ==
control: active
nodemgr: active
named: active
dns: active
== Contrail analytics-alarm ==
nodemgr: active
kafka: active
alarm-gen: active
== Contrail kubernetes ==
kube-manager: active
== Contrail database ==
nodemgr: active
query-engine: active
cassandra: active
== Contrail analytics ==
nodemgr: active
api: active
collector: active
== Contrail config-database ==
nodemgr: active
zookeeper: active
rabbitmq: active
cassandra: active
== Contrail webui ==
web: active
job: active
== Contrail vrouter ==
nodemgr: active
agent: active
== Contrail analytics-snmp ==
snmp-collector: active
nodemgr: active
topology: active
== Contrail config ==
svc-monitor: active
nodemgr: active
device-manager: active
api: active
schema: active
- コンピューティング ノードの 1 つのグループからワークロード VM を移行します。instances.yaml ファイルではコメントされていない状態のままにします。インスタンスでupgrаdeの準備が整っていない他のコンピューティングにコメントする.yaml。
- コンピューティング ノードをアップグレードする。
Contrail Networking リリース 2005 から Contrail Networking リリース 2008 への場合:
プレイブックファイルを install_contrail.yml 実行して、ファイルにコメントされていないコンピューティングノードを instances.yaml アップグレードします。このステップでは、 8 でコメントされていないコンピューティング ノードのみがターゲット リリースにアップグレードされます。
sudo -E ansible-playbook -v -e orchestrator=openstack -e config_file=instances.yaml playbooks/install_contrail.yml
Contrail Networking リリース 2011 以降の場合:
プレイブック ファイルの ziu.yml コンピューティング ステージを実行し、ファイルにコメントされていないコンピューティング ノードを instances.yaml アップグレードします。このステップでは、 8 でコメントされていないコンピューティング ノードのみがターゲット リリースにアップグレードされます。
sudo -E ansible-playbook -v -e stage=compute -e orchestrator=openstack -e config_file=../instances.yaml playbooks/ziu.yml
- すべてのコンピューティング ノードがアップグレードされるまで、手順 8 と 9 を繰り返します。