Container Service for Kubernetes (ACK) は、新しく作成されたクラスターのHelmをV3に更新しました。 Helm V2のTillerサーバーコンポーネントには、コミュニティユーザー間の既知のセキュリティ問題があります。 攻撃者はTillerを使用して、クラスターに不正なアプリケーションをインストールできます。 できるだけ早い機会にHelm V3に更新することを推奨します。
影響範囲
kubectl get deploy -n kube-system tiler-deployコマンドを実行して、tiler Deploymentが存在するかどうかを確認します。 ティラー展開が存在する場合は、次の条件を確認します。
- ACKクラスターのkubeconfigファイルが外部ユーザーに提供されているかどうか。
- ACKコンソールへの外部アクセスが許可されているかどうか。
- マルチテナントシナリオでACKクラスターを使用するかどうか、およびユーザー間で特権の分離が有効になっているかどうか。
上記のいずれかの条件が満たされている場合は、Helm V3に更新することを推奨します。
影響を受けていないシナリオまたはHelm V3への更新が利用できないシナリオ
シナリオが上記の条件を満たさない場合、またはHelm V3に更新できない場合は、セキュリティを高めるために、Tiller of Helm V2を手動で最新バージョンに更新することを推奨します。 次の手順を実行して、Tiller of Helm V2を最新バージョンに更新します。
- 次のコマンドを実行します。
helm init -- tiller-imag e registry.cn-hangzhou.aliyuncs.com/acs/tiller:v2.16.3 -- アップグレード - Tillerがヘルスチェックに合格した後、helm versionコマンドを実行して更新結果を照会できます。
上記のコマンドは、Helmのサーバーコンポーネントのみを更新します。 異なるオペレーティングシステムのクライアントコンポーネントをダウンロードするには、ダウンロードリンクをクリックします。
説明 シナリオが上記の条件を満たさない場合、またはHelm V3に更新できない場合は、Tillerを最新バージョンに更新し、次の手順をスキップできます。 後でHelm V3に更新できます。
事前チェック
Helm V2を更新する前に、事前チェックのために次の手順を実行します。
- TillerがACKクラスターにインストールされているかどうかを確認します。 kubectl get deploy -n kube-system tiler-deployコマンドを実行して、tiler Deploymentが存在するかどうかを確認します。
- ティラー展開が存在する場合は、helm ls -aコマンドを実行して、アプリケーションがインストールされているかどうかを確認します。
- アプリケーションがインストールされている場合は、Helm V2とV3の間のデータの非互換性のため、まずこれらのアプリケーションを削除する必要があります。 重要 Helmコミュニティは、Helm V2の設定とリリースをHelm V3に移行するためのプラグインを提供します。 データの損失を防ぐため、プラグインを使用するときは注意してください。 プラグインの詳細については、「helm-2to3」をご参照ください。
更新手順
- 事前チェックに合格したことを確認します。
- kubectl delete deploy tiller-deploy -n kube-systemコマンドを実行します。
- Helm V3クライアントコンポーネントをダウンロードして、新しいアプリケーションをインストールします。 重要新しいアプリケーションをインストールする前に、次の項目に注意してください。
- Helm V2を使用してインストールされたアプリケーションを再インストールするには、Helm V3を使用する必要があります。 ワークロードへの影響を評価します。
- アプリケーションを再インストールすると、元のデータが失われます。 事前にデータをバックアップしてください。