このドキュメントでは、Google Distributed Cloud(GDC)エアギャップ Kubernetes クラスタで実行されている既存のステートフル ワークロードを削除する方法について説明します。Kubernetes クラスタの健全性とパフォーマンスを維持するには、使用されなくなったワークロードを削除することが重要です。
このドキュメントは、組織のアプリケーション ワークロードの管理を担当するアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。
始める前に
このドキュメントのタスクを完了するには、必要な権限をリクエストして環境を準備する必要があります。
IAM ロールをリクエストする
ステートフル ワークロードを削除するために必要な権限を取得するには、特定のロールが必要です。必要なロールは、組織スコープの共有クラスタとプロジェクト スコープの標準クラスタのどちらで作業しているかによって異なります。詳細については、Kubernetes クラスタの構成をご覧ください。
共有クラスタロール
共有クラスタでステートフル ワークロードを作成、削除、編集、表示するには、IAM プロジェクト管理者にNamespace 管理者(namespace-admin)ロールを付与するよう依頼します。このロールはプロジェクトの名前空間にバインドされます。
標準クラスタロール
標準クラスタでステートフル ワークロードを作成、削除、編集、表示するには、IAM プロジェクト管理者にクラスタ デベロッパー(cluster-developer)ロールを付与するよう依頼します。このロールはプロジェクトの名前空間にバインドされます。
環境を準備する
API を使用して Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。
Kubernetes クラスタ名を確認するか、プラットフォーム管理者グループのメンバーにクラスタ名を確認します。
これらの手順では、Kubernetes クラスタの kubeconfig パスを使用して
KUBERNETES_CLUSTER_KUBECONFIGを置き換えます。
StatefulSet リソースを削除する
関連付けられたステートフル コンテナ ワークロードを使用しなくなった場合は、StatefulSet リソースを削除します。
StatefulSetリソースを削除するには、次のコマンドを実行します。kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ -n NAMESPACE \ delete statefulset STATEFULSET_NAME次のように置き換えます。
KUBERNETES_CLUSTER_KUBECONFIG: クラスタの kubeconfig ファイル。NAMESPACE: コンテナ ワークロードの Namespace。共有クラスタの場合、これはプロジェクトの名前空間である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。STATEFULSET_NAME: 削除するStatefulSetオブジェクトの名前。
StatefulSetリソースを削除すると、そのすべての Pod も削除されます。StatefulSetリソースのみを削除し、その Pod を削除しない場合は、--cascade=orphanパラメータを指定します。関連付けられているサービスを削除します。
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ delete service SERVICE_NAME次の変数を置き換えます。
KUBERNETES_CLUSTER_KUBECONFIG: クラスタの kubeconfig ファイル。SERVICE_NAME: 削除するServiceオブジェクトの名前。