Amazon EKS クラスターを削除できないのはなぜですか?

所要時間2分
0

Amazon Elastic Kubernetes Service (Amazon EKS) クラスターを削除できません。これを解決するにはどうすればよいですか?

簡単な説明

Amazon EKS クラスターを削除するには、まず、クラスターに関連付けられているすべてのマネージドノードグループを削除する必要があります。詳細については、「Amazon EKS クラスターの削除」を参照してください。

注: クラスターの作成に使用したのと同じツールを使用してクラスターを削除することをお勧めします。

重要: AWS Load Balancer Controller (GitHub ウェブサイトから) を使用してロードバランサーを作成すると、Application Load Balancer または Network Load Balancer が作成されます。ロードバランサーを管理する Kubernetes イングレスまたはサービスを削除する前にクラスターを削除する場合は、ロードバランサーを手動で削除する必要があります。「Application Load Balancer の削除」、「Network Load Balancer を削除する」、および「Delete your load balancer (Classic)」(ロードバランサーの削除 (Classic)) を参照してください。

それでもクラスターコンポーネントを削除できない場合は、シナリオに基づいて次のオプションを検討してください。

  • 「The following resource(s) failed to delete」(次のリソースを削除できませんでした) または「resource XXXXXXX has a dependent object」(リソース XXXXXXX には依存オブジェクトがあります) というエラーメッセージが表示されます。「クラスターコンポーネントを作成した AWS CloudFormation スタックを削除する」セクションの手順を完了します。
  • クラスターを削除しましたが、ノードはまだ有効になっています。クラスターを削除しても、自己管理型ノードは自動的には削除されません。ノードは手動で削除する必要があります。「自己管理型ノードの削除」セクションの手順を完了します。
  • クラスターが DELETING 状態のままになっています。欠落している AWS ID とアクセス管理 (IAM) のポリシーまたはロールによって、クラスターの削除が妨げられていないことを確認します。IAM ロールが欠落している場合は、「Amazon EKS の IAM サービスロールを再作成する」セクションのステップを実行します。
  • Amazon EKS DeleteCluster API コールが失敗し、「Cannot delete because cluster XXXXXXX currently has an update in progress」(クラスター XXXXXXX の更新が現在進行中であるため、削除できません) というエラーメッセージが表示されます。 しかし、クラスターは [Active] (アクティブ) 状態であり、いかなる更新も進行中ではないことがわかります。この場合は、「Amazon EKS プラットフォームの自動バージョンアップグレードを完了する」のセクションを参照してください。

注: クラスターの削除に時間がかかるのは通常のことです。[DELETING] 状態のクラスターについては課金されません。

解決方法

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

クラスターコンポーネントを作成した AWS CloudFormation スタックを削除する

1.    AWS CloudFormation コンソールのスタックを削除できます。または、AWS CLI の delete-stack コマンドを使用できます。

依存関係のためにスタックを削除できない場合は、まずは依存関係を持つリソースを手動で削除するか、または依存関係を削除します。その後、もう一度スタックの削除を試みます。

削除に失敗したリソースを保持するには、スタックを削除するときにリソースをスキップします。このオプションは、[DELETE_FAILED] 状態のリソースまたはスタックでのみ使用できます。スキップされたリソースはアカウント内でアクティブなままですが、CloudFormation スタックは削除されます。その後、AWS マネジメントコンソールからリソースを削除できます。

2.    スタックが削除されたら、クラスターの削除をもう一度試みます。

スタックの削除が遅い、または削除に失敗した場合は、AWS CloudTrailDeleteCluster API 呼び出しを確認します。

自己管理型ノードを削除する

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを手動で作成した場合は、インスタンスを終了します。Auto Scaling グループによってノードを作成した場合、Auto Scaling グループを削除するとノードが削除されます。CloudFormation を使用してノードを作成した場合、スタックを削除するとノードが削除されます。

Amazon EKS の IAM サービスロールを再作成する

Amazon EKS がお客様に代わって他の AWS のサービスを呼び出すことを許可する IAM サービスロールが必要です。クラスターの作成後にロールを削除または変更すると、クラスターは一部のリソースの削除に失敗します。たとえば、クラスターは、コントロールプレーンインスタンスとのプライベート通信に使用される elastic network interface を削除しない場合があります。

1.    再度 IAM ロールを作成します

重要: クラスターを管理するサービスとして Amazon EKS を選択していることを確認してください。

2.    AmazonEKSClusterPolicy マネージドポリシーを IAM ロールにアタッチします。

Amazon EKS プラットフォームの自動バージョンアップグレードを完了する

Amazon EKS は、すべての既存のクラスターを、Kubernetes の対応するマイナーバージョンのために、最新の Amazon EKS プラットフォームバージョンに自動的にアップグレードします。これらの更新はユーザーによって開始されるものではないため、コンソールでは更新として表示されません。既存の Amazon EKS のプラットフォームバージョンの自動アップグレードは段階的にロールアウトされ、完了までに時間がかかる場合があります。クラスターのプラットフォームバージョンが、対応する Kubernetes マイナーバージョンのために、最新のプラットフォームバージョンになったら、クラスターの削除を再試行できます。


AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ