|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Kubernetesのアップグレードとロールバック
Rancherの最新バージョンにアップグレードした後、ダウンストリームのKubernetesクラスターは、サポートされている最新のKubernetesバージョンを使用するようにアップグレードできます。
Rancherは、RKEクラスターをプロビジョニングおよび編集する際に、RKE(Rancher Kubernetes Engine)をライブラリとして呼び出します。RKEクラスターのアップグレード戦略を構成する方法についての詳細は、 RKEドキュメントを参照してください。
テストされたKubernetesバージョン
新しいRancherのバージョンがリリースされる前に、互換性を確認するために、最新のマイナーバージョンのKubernetesでテストされます。各RancherバージョンでテストされたKubernetesバージョンの詳細については、 サポート保守条件を参照してください。
アップグレードの仕組み
RKE v1.1.0は、クラスターのアップグレード方法を変更しました。
この RKEドキュメント,のセクションでは、RKE Kubernetesクラスターを編集またはアップグレードすると何が起こるかを学びます。
アップグレードの推奨ベストプラクティス
クラスターのKubernetesバージョンをアップグレードする際は、次のことを推奨します。
-
スナップショットを作成してください。
-
Kubernetesアップグレードを開始してください。
-
アップグレードが失敗した場合は、クラスタをアップグレード前のKubernetesバージョンに戻すこれは、*etcdとKubernetesバージョンを復元する*オプションを選択することで実現されます。これにより、etcdスナップショットを復元する前に、クラスターがアップグレード前のKubernetesバージョンに戻ります。
復元操作は、正常またはアクティブな状態ではないクラスタで機能します。
Kubernetesバージョンのアップグレード
|
前提条件:
|
-
左上隅で、*☰ > クラスター管理*をクリックします。
-
クラスター*ページで、アップグレードしたいクラスターに移動し、⋮ > 設定を編集*をクリックします。
-
*Kubernetesバージョン*のドロップダウンから、クラスターで使用したいKubernetesのバージョンを選択します。
-
[保存]をクリックします。
*結果:*Kubernetesがクラスターのアップグレードを開始します。
アップグレード戦略の設定
RKE v1.1.0以降、アップグレードプロセスに対するより詳細な制御を提供するために、追加のアップグレードオプションが利用可能になりました。これらのオプションは、特定の 条件と要件が満たされている場合、クラスターのアップグレード中にアプリケーションの可用性を維持するために使用できます。
アップグレード戦略は、Rancher UIで設定するか、`cluster.yml`を編集することで構成できます。より高度なオプションは、`cluster.yml`を編集することで利用可能です。
Rancher UIでの最大利用不可ワーカーノードの設定
Rancher UIから、最大利用不可ワーカーノードの数を設定できます。クラスタのアップグレード中に、ワーカーノードがこのサイズのバッチでアップグレードされます。
デフォルトでは、使用できないワーカーの最大数は、すべてのワーカーノードの10パーセントとして定義されています。この数は、パーセンテージとして、または整数として設定できます。パーセンテージとして定義されている場合、バッチサイズは、1つ以上のノードを含む最も近いノードに切り捨てられます。
デフォルトのワーカーノードの数または割合を変更するには、
-
左上隅で、*☰ > クラスター管理*をクリックします。
-
クラスター*ページで、アップグレードしたいクラスターに移動し、⋮ > 設定を編集*をクリックします。
-
*アップグレード戦略*タブで、*ワーカーの同時実行数*を固定数または割合として入力します。この数値を取得するには、クラスター内のノードの数から最大の利用不可ノードを引くことができます。
-
[保存]をクリックします。
*結果:*クラスターは新しいアップグレード戦略を使用するように更新されます。
Rancher UIからのアップグレード中にノードの排出を有効にする
デフォルトでは、RKEはアップグレードする前に各ノードを コーデンします。アップグレード中は 排出がデフォルトで無効になっています。クラスター構成で排出が有効になっている場合、RKEはアップグレードの前にノードをコーデンし、排出します。
クラスターのアップグレード中に各ノードの排出を有効にするには、
-
左上隅で、*☰ > クラスター管理*をクリックします。
-
クラスター*ページで、ノードの排出を有効にしたいクラスターに移動し、⋮ > 設定を編集*をクリックします。
-
*⋮ > 編集*をクリックします。
-
*アップグレード戦略*タブで、*ノードを排出*フィールドに移動し、*はい*をクリックします。ノードの排出は、コントロールプレーンとワーカーノードで別々に構成されます。
-
ポッドが削除される方法のオプションを構成します。各オプションの詳細については、このセクションを参照してください。
-
オプションで、猶予期間を構成します。猶予期間は、各ポッドにクリーンアップのために与えられるタイムアウトで、ポッドが正常に終了するための猶予を与えます。ポッドは、未処理のリクエストを完了したり、トランザクションをロールバックしたり、外部ストレージに状態を保存したりする必要があるかもしれません。この値が負の場合、ポッドで指定されたデフォルト値が使用されます。
-
オプションで、タイムアウトを構成します。これは、排出があきらめる前に待機する時間のことです。
-
[保存]をクリックします。
*結果:*クラスターは新しいアップグレード戦略を使用するように更新されます。
|
アップグレード中のアプリケーションの可用性を維持する
このRKEドキュメントのセクション,では、クラスターのアップグレード時にアプリケーションのダウンタイムを防ぐための要件について学びます。
cluster.ymlでのアップグレード戦略の設定
より高度なアップグレード戦略の設定オプションは、`cluster.yml`を編集することで利用可能です。
詳細については、RKEドキュメントの アップグレード戦略の設定を参照してください。このセクションには、アップグレード戦略を設定するための例`cluster.yml`も含まれています。
トラブルシューティング
アップグレード後にノードが起動しない場合、`rke up`コマンドはエラーになります。
使用できないノードの数が設定されている最大数を超えると、アップグレードは続行されません。
アップグレードが停止した場合、アップグレードを続行する前に、使用できないノードを修正するか、クラスターから削除する必要があります。
失敗したノードは多くの異なる状態にある可能性があります:
-
電源オフ
-
使用不可
-
ユーザーがアップグレード中にノードをドレインするため、ノード上にkubeletが存在しません。
-
アップグレード自体が失敗しました。
アップグレード中に最大の使用できないノード数に達した場合、Rancherユーザークラスターは更新状態に留まり、他のコントロールプレーンノードのアップグレードを進めることができません。ノードのいずれかが利用可能になる場合に備えて、使用できないノードのセットを引き続き評価します。ノードを修正できない場合、アップグレードを続行するためにノードを削除する必要があります。