Kubernetesクラスタのアップグレード
注意:
システム・アップグレードの準備ステップがすべて完了していることを確認します。 手順は、「アプライアンスのアップグレードの準備」を参照してください。
Kubernetesコンテナ・オーケストレーション環境のアップグレードも、オペレーティング・システムとは別に保持されます。 1つのコマンドを使用すると、すべてのKubernetesパッケージ(kubeadm、kubectl、kubeletなど)が3つの管理ノードおよびすべてのコンピュート・ノードでアップグレードされます。 このアップグレードには、Kubernetesクラスタ内で実行されているマイクロサービスは含まれません。
依存関係上の理由から、管理ノードのホスト・オペレーティング・システムのあとでKubernetesをアップグレードする必要があります。 Kubernetes upgradeコマンドには必須パラメータがありません。
Kubernetesアップグレード・プロセスについて
サービスの互換性と継続性を確保するには、Kubernetesを一度に1つのバージョンにアップグレードする必要があります。 バージョンのスキップ - メジャーまたはマイナー - は、サポートされていません。 Private Cloud Appliance Upgraderは、Kubernetesクラスタのすべての部分を次の使用可能なバージョンにアップグレードまたはパッチ適用することでこのプロセスを管理し、環境全体でアプライアンス・ソフトウェア・リポジトリから入手可能な最新のKubernetesバージョンが実行されるまで、同じ一連の操作を繰り返します。
Kubernetesクラスタのアップグレードまたはパッチ適用は、Private Cloud Appliance管理ノードおよびコンピュート・ノードを含む時間のかかるプロセスです。 追加の各コンピュート・ノードは、Kubernetesの増分バージョンごとに10分ずつプロセスを拡張します。
アプライアンス・ソフトウェア・バージョン3.0.2-b925538以降では、コンテナ・オーケストレーション環境がKubernetesバージョン1.20.xからバージョン1.25.yにアップグレードまたはパッチ適用されます。つまり、プロセス全体が5回実行される必要があります。 実行が成功するたびに、リポジトリが同期され、次の必要なバージョンが取得されます。 ただし、このバージョンのアプライアンス・ソフトウェアでは、リポジトリは複数のバージョンのKubernetesパッケージを許可するように再構成されるため、再同期は不要になります。
個々のKubernetesノードのアップグレードには、約10分かかります。 テストでは、Private Cloud Appliance Kubernetesクラスタのバージョン1.20からバージョン1.25へのアップグレードまたはパッチ適用に、管理ノードが3つ、コンピュート・ノードが3つあるベース・ラック構成で約4-5時間かかることが示されています。 20個のコンピュート・ノードがあるフル・ラックでは、プロセス全体で少なくとも9時間必要であり、完了までに最大18時間かかる場合があります。 ラック固有の構成の推定時間は、アップグレード計画で報告されます。
アップグレードまたはパッチ適用の進行状況を監視するには、ジョブ・ステータスまたはログを定期的に確認します。
-
サービスCLIを使用してジョブ・ステータスを確認:
getUpgradeJob upgradeJobId=<id>
-
管理ノードのUpgraderログの表示:
tail -f /nfs/shared_storage/pca_upgrader/log/pca-upgrader_kubernetes_cluster_<time_stamp>.log
。
Kubernetesのアップグレードまたはパッチ適用中に、特定のサービスが一時的に使用できなくなる可能性があります。
-
「コンピュートWeb UI」、「サービスWeb UI」、OCI CLIおよび「サービスCLI」はすべて一時的に使用できなくなる可能性があります。 ユーザーは、操作を再試行する前に数分待つ必要があります。 「サービス・エンクレーブ」 (UIまたはCLI)での管理操作は、アップグレードまたはパッチ適用中に回避する必要があります。
-
Kubernetesアップグレードが開始されると、「Kubernetesワークロード・モニタリング・オペレータ」 (Sauronサービス)が停止されます。 その結果、Grafana、Prometheusおよびその他のSauronイングレス・エンドポイントにアクセスできません。 これらは、Kubernetesクラスタとコンテナ化されたマイクロサービス(プラットフォーム・レイヤー)のアップグレード・プロセスまたはパッチ適用プロセスの両方が完了した後、再び使用可能になります。
「サービスWeb UI」を使用したKubernetesクラスタのアップグレード
-
ナビゲーション・メニューで、「メンテナンス」セクションに移動し、「アップグレード計画」をクリックします。 ここでは、現行およびターゲット・コンポーネントのバージョンの概要を示します。
-
「アップグレード&パッチ適用」をクリックして、「アップグレード・ジョブ」ページを表示します。
-
「アップグレード・ジョブ」ページの右上隅にある「アップグレードまたはパッチの作成」をクリックします。
「要求の作成」ウィンドウが表示されます。 リクエスト・タイプとして「アップグレード」を選択します。
-
適切なアップグレード・リクエスト・タイプを選択: Kubernetesをアップグレードします。
-
必要に応じて、アップグレード・リクエスト・パラメータを入力します:
-
拡張オプションJSON: オプションで、追加のコマンド・パラメータを指定するJSON文字列を追加します。
-
ログ・レベル: オプションで、アップグレード・ログファイルの特定のログ・レベルを選択します。 デフォルトのログ・レベルは「情報」です。 詳細は、「デバッグ」を選択します。
-
代替ULNチャネル: このパラメータはパッチ適用に適用され、無視できます。
-
検証のみ: 検証専用モードで操作を実行するには、このオプションを有効にします。
-
強制: 操作を強制するには、このオプションを有効にします。 Oracleによって指示された場合のみ使用します。
-
-
「要求の作成」をクリックします。
新しいアップグレード・リクエストが「アップグレード・ジョブ」表に表示されます。
「サービスCLI」を使用したKubernetesクラスタのアップグレード
-
アップグレード・コマンドを入力します。
PCA-ADMIN> upgradeKubernetes Command: upgradeKubernetes Status: Success Time: 2021-09-26 17:20:09,423 UTC Data: Service request has been submitted. Upgrade Job Id = 1632849609034-kubernetes-35545 Upgrade Request Id = UWS-edfa3b32-c32a-4b67-8df5-2357096052bf
-
リクエストIDとジョブIDを使用して、アップグレード・プロセスのステータスを確認します。
PCA-ADMIN> getUpgradeJobs id upgradeRequestId commandName result -- ---------------- ----------- ------ 1632849609034-kubernetes-35545 UWS-edfa3b32-c32a-4b67-8df5-2357096052bf kubernetes Passed 1632826770954-etcd-26973 UWS-fec15d32-fc2b-48bd-9ae0-62f49587a284 etcd Passed 1632850933353-vault-16966 UWS-352df3d1-c21f-441b-8f6e-9381ac075906 vault Passed PCA-ADMIN> getUpgradeJob upgradeJobId=1632849609034-kubernetes-35545 Command: getUpgradeJob upgradeJobId=1632849609034-kubernetes-35545 Status: Success Time: 2021-09-26 17:43:38,443 UTC Data: Upgrade Request Id = UWS-edfa3b32-c32a-4b67-8df5-2357096052bf Name = kubernetes Start Time = 2021-09-26T17:20:09 End Time = 2021-09-26T17:21:52 Pid = 35545 Host = pcamn02 Log File = /nfs/shared_storage/pca_upgrader/log/pca-upgrader_kubernetes_cluster_2021_09_26-17.20.09.log Arguments = {"verify_only":false,"upgrade":false,"diagnostics":false,"host_ip":null,"result_override":null,"log_level":null,"switch_type":null,"precheck_status":false,"task_time":0,"fail_halt":false,"fail_upgrade":null,"component_names":null,"upgrade_to":null,"image_location":"http://host.example.com/pca-3.0.1-b535176.iso","epld_image_location":null,"expected_iso_checksum":null,"checksum":"240420cfb9478f6fd026f0a5fa0e998e086275fc45e207fb5631e2e99732e192e8e9d1b4c7f29026f0a5f58dadc4d792d0cfb0279962838e95a0f0a5fa31dca7","composition_id":null,"request_id":"UWS-edfa3b32-c32a-4b67-8df5-2357096052bf","display_task_plan":false,"dry_run_tasks":false} Status = Passed Execution Time(sec) = 249 Tasks 1 - Name = Retrieving Cluster Status Tasks 1 - Description = Retrieving cluster status and upgrade data from the kubernetes nodes Tasks 1 - Time = 2021-09-26T17:20:10 [...]