コンテナコンピューティングサービス (ACS) は、コンテナ化されたコンピューティングのためのマネージドアーキテクチャと主要コンポーネントを提供します。ACS クラスタ内の非管理対象コンポーネントまたはアプリケーションに対する不適切な操作は、サービスの中断につながる可能性があります。発生する可能性のあるリスクをより適切に予測し回避するために、ACS を使い始める前に、このトピックの推奨事項と使用上の注意をよく読んで理解してください。
使用上の注意
クラスタの更新
ACS クラスタの Kubernetes バージョンを更新するには、ACS のクラスタ更新機能を使用します。他の方法を使用すると、安定性または互換性の問題が発生する可能性があります。
ACS は、クラスタの更新をサポートするために次の機能を提供します。
ACS クラスタのバージョン更新。
バージョン更新の事前チェック。事前チェックは、ACS クラスタがバージョン更新の条件を満たしていることを確認するのに役立ちます。
新しい Kubernetes バージョンのリリースノート。リリースノートでは、新しい Kubernetes バージョンについて説明し、新しいバージョンと以前のバージョンを比較します。
リソース変更による潜在的なリスクの通知。この機能は、バージョン更新によるリソース変更によって発生する可能性のあるリスクを通知できます。
クラスタ更新機能を使用する場合は、次の推奨事項に従うことをお勧めします。
クラスタを更新する前に事前チェックを実行し、事前チェックの結果で報告された問題を修正します。
新しい Kubernetes バージョンのリリースノートを読んで理解します。ACS によって報告された更新リスクに基づいて、クラスタとワークロードの状態を確認します。次に、クラスタ更新の影響を評価します。
クラスタの更新はロールバックできません。クラスタを更新する前に、更新の準備を行い、バックアップ計画を作成します。
ACS によって非推奨になる前に、クラスタを最新の Kubernetes バージョンに更新します。詳細については、Kubernetes バージョンのサポートを参照してください。
Kubernetes の構成
YAML テンプレートでは、Kubernetes によって予約されているアノテーションを使用しないでください。使用すると、リソースの利用不可、アプリケーションの障害、および例外が発生する可能性があります。
kubernetes.io/
またはk8s.io/
というプレフィックスが付いたラベルは、主要コンポーネント用に予約されています。例: pv.kubernetes.io/bind-completed: "yes"。
ACS クラスタ
次のシナリオでは、ACS クラスタは補償の対象になりません。
クラスタの運用保守を簡素化するために、ACS はクラスタの特定のシステムコンポーネントを管理できます。クラスタのマネージドシステムコンポーネントを有効にすると、コンポーネントは ACS によってデプロイおよび保守されます。ACS は、マネージドシステムコンポーネントで使用される Kubernetes リソースの誤削除などのユーザーエラーによって引き起こされたビジネス損失に対して補償を提供しません。
高リスク操作
次の操作は、ACS では高リスク操作と見なされ、ビジネスの安定性を大幅に低下させる可能性があります。次の高リスク操作の影響を読んで理解してください。
クラスタに対する高リスク操作
カテゴリ | 高リスク操作 | 影響 | 復旧方法 |
API サーバー | API サーバーを公開するために使用されるサーバーロードバランサー (SLB) インスタンスを削除します。 | クラスタを管理できなくなります。 | 復旧できません。新しいクラスタを作成する必要があります。 |
その他 | Resource Access Management (RAM) を使用して権限を変更します。 | SLB インスタンスなどのリソースを作成できない場合があります。 | 権限を復元します。 |
ネットワークとロードバランシングに対する高リスク操作
高リスク操作 | 影響 | 復旧方法 |
ACS が SLB インスタンスに追加するタグを変更または削除します。 | SLB インスタンスは正常に動作しません。 | タグを復元します。 |
インスタンス、リスナー、vServer グループの構成を含む、ACS によって管理される SLB インスタンスの構成を変更します。 | SLB インスタンスは正常に動作しません。 | SLB の構成を復元します。 |
既存の SLB インスタンスを指定するために使用される | 既存の SLB インスタンスは正常に動作しません。 | アノテーションをサービス構成に追加します。 説明 サービスが既存の SLB インスタンスを使用するように構成されている場合、サービスの新しい SLB インスタンスを作成するように構成を変更することはできません。新しい SLB インスタンスを使用するには、新しいサービスを作成する必要があります。 |
SLB コンソールで ACS によって作成された SLB インスタンスを削除します。 | クラスタネットワークでエラーが発生する可能性があります。 | SLB インスタンスに関連付けられているサービスを削除することで、SLB インスタンスを削除します。サービスの削除方法の詳細については、サービスの削除を参照してください。 |
NGINX Ingress コントローラーがインストールされているクラスタの kube-system ネームスペースで、 | NGINX Ingress コントローラーは正常に動作せず、動作が停止する可能性があります。 | 次の YAML テンプレートを使用して、同じ名前のサービスを作成します。
|
ストレージに対する高リスク操作
高リスク操作 | 影響 | 復旧方法 |
Elastic Compute Service (ECS) コンソールでポッドからディスクをアンマウントします。 | ポッドにデータを書き込むときに I/O エラーが発生します。 | ポッドを再起動します。 |
1 つのディスクを複数のポッドにマウントします。 | ポッドデータがローカルディスクに書き込まれるか、ポッドにデータを書き込むときに I/O エラーが発生します。 | ディスクを 1 つのポッドのみにマウントします。 重要 Alibaba Cloud ディスクは共有できません。各ディスクは 1 つのポッドのみにマウントできます。 |
ポッドにマウントされているファイルストレージ NAS (NAS) ディレクトリを手動で削除します。 | ポッドにデータを書き込むときに I/O エラーが発生します。 | ポッドを再起動します。 |
ログに対する高リスク操作
高リスク操作 | 影響 | 復旧方法 |
aliyunlogconfig CustomResourceDefinitions (CRD) を削除します。 | ログを収集できません。 | 削除された aliyunlogconfig CRD と関連リソースを再作成します。aliyunlogconfig CRD が存在しない期間に生成されたログは収集できません。 aliyunlogconfig CRD を削除すると、関連するログ収集タスクも削除されます。aliyunlogconfig CRD を再作成した後、ログ収集タスクも再起動する必要があります。 |
ロギングコンポーネントをアンインストールします。 | ログを収集できません。 | ロギングコンポーネントを再インストールし、aliyunlogconfig CRD を手動で作成します。ロギングコンポーネントが存在しない期間に生成されたログは収集できません。 ロギングコンポーネントを削除すると、aliyunlogconfig CRD と Logtail も削除されます。ロギングコンポーネントが存在しない期間に生成されたログは収集できません。 |