このトピックでは、Kubernetesクラスターでさまざまな操作を実行するためのベストプラクティスについて説明します。
Kubernetesクラスターの作成
このセクションでは、Kubernetesクラスターの作成に関するベストプラクティスのみについて説明します。Container Service for Kubernetes (ACK) Proクラスターの詳細については、「ACK Proクラスターの概要」をご参照ください。
本番環境では、ACK Proマネージドクラスターを使用することをお勧めします。
ACK標準クラスターと比較して、ACK Proクラスターは、より優れたリソース分離とサービスレベル契約(SLA)を提供します。ACK Proクラスターの詳細については、「ACK Proクラスターの概要」をご参照ください。
本番環境では、Kubernetesクラスターを作成するときにTerwayネットワークプラグインを使用します。
Terwayネットワークプラグインを使用すると、Pod専用のElastic Network Interface(ENI)を使用して、最適なネットワークパフォーマンスを実現できます。ネットワークプラグインの詳細については、「ACK Proクラスターの作成」をご参照ください。
本番環境では、Kubernetesクラスターを作成するときにAlibaba Cloud Linuxオペレーティングシステムを選択することをお勧めします。
Alibaba Cloud Linuxオペレーティングシステムは、ACKのデフォルトのオペレーティングシステムです。[等級保護に基づく強化] をサポートしており、パフォーマンスが向上し、長期的なサービスサポートが提供されます。オペレーティングシステムの詳細については、「Alibaba Cloud Linux 2(EOL)の使用」をご参照ください。
本番環境では、高度なセキュリティグループを使用することをお勧めします。
基本的なセキュリティグループと比較して、高度なセキュリティグループは、より大きなノード容量をサポートできます。セキュリティグループの詳細については、「セキュリティグループ」をご参照ください。
基本的なセキュリティグループを使用していて、アプリケーションをスケールアウトするときにノードまたはPodをスケールアウトできない場合は、セキュリティグループの仕様によってノード容量が制限されているかどうかを確認できます。
ACKおよびEnterprise Distributed Application Service(EDAS)に追加されているセキュリティグループルールを変更しないでください。
通常、セキュリティグループはACKクラスターによって管理され、Elastic Compute Service(ECS)インスタンスやPodのClassless Inter-Domain Routing(CIDR)ブロックなどのルールの初期構成は完了しています。セキュリティグループルールを変更または削除すると、次の例外やその他の機能例外が発生する可能性があります。クラスターをEDASにインポートできません。Podをスケジュールできません。Podが相互に切断されます。[kubectl logs] コマンドが無効です。
セキュリティグループルールがすでに変更されている場合は、クラスターノードのCIDRブロックがセキュリティグループルールに追加されていることを確認してください。クラスターが属するセキュリティグループを表示する方法の詳細については、「クラスター情報の表示」をご参照ください。
イングレスを使用して外部サービスを提供する場合は、クラスターのIngressコントローラーのPodレプリカの数を適切に構成する必要があります。
Ingressコントローラーは外部アクセストラフィックを伝送します。レプリカの数が不十分な場合、ビジネス全体の処理能力に影響します。PrometheusモニタリングビューでIngressコントローラーのモニタリングメトリックを表示し、負荷を確認できます。その後、適切な数のPodレプリカを設定できます。Ingressコントローラーのモニタリングメトリックを表示する方法の詳細については、「nginx-ingress-controllerのアクセスログの分析と監視」をご参照ください。
CoreDNSを有効にし、CoreDNSのPodレプリカの数を適切に構成します。
クラスター内のノードに対するCoreDNS Podの適切な比率を設定することで、クラスターのサービス検出のパフォーマンスが向上します。比率を 1:8 に設定することをお勧めします。CoreDNS Podの構成方法の詳細については、「DNSサービスのベストプラクティス」をご参照ください。
Kubernetesクラスターの監視
このセクションでは、Prometheusモニタリング、ノードモニタリング、およびクラスターログ収集についてのみ説明します。クラスターモニタリングの詳細については、「可観測性システムの概要」をご参照ください。
Prometheusモニタリングメトリックを表示し、ノードとワークロードにアラートを追加します。
ノードのCloudMonitorを有効にし、ECSインスタンスのリソース使用量にアラートを追加します。
Simple Log Service(SLS)からのログ分析のために、クラスターログ収集機能を有効にします。
Kubernetesクラスターの削除
Kubernetesクラスターを削除する場合は、EDASコンソールでKubernetesクラスターにデプロイされているアプリケーションを削除し、Kubernetesクラスターのインポートをキャンセルしてから、ACKからクラスターを削除します。
上記の順序で操作を実行しないと、リソースが残ります。その後、Virtual Private Cloud(VPC)を削除できない場合があります。
詳細については、以下のトピックをご参照ください。