Container Service for Kubernetes (ACK) は、マネージドクラスターからアカウント内の Simple Log Service (SLS) プロジェクトにコントロールプレーンログをストリーミングし、ヘルスモニタリング、トラブルシューティング、監査に利用します。
前提条件
以下を確認してください。
-
SLS の Logstore クォータ が十分であること
-
SLS の 従量課金 体系を理解していること — 収集されたログには SLS の料金が発生します
kube-apiserver のような大量のログを生成するコンポーネントは、膨大なログデータを生成する可能性があります。コストを管理するために、必要なコンポーネントのログ収集のみを有効にしてください。
サポート対象のコンポーネントと Logstore
各コントロールプレーンコンポーネントは、専用の SLS Logstore にログを記録します。詳細については、「Kubernetes のコンポーネント」をご参照ください。
| コンポーネント | Logstore | デフォルトで収集 | 説明 |
|---|---|---|---|
| kube-apiserver | apiserver | はい | Kubernetes API を公開します。 |
| kube-controller-manager | kcm | はい | Kubernetes のコアコントロールループを実行します。 |
| kube-scheduler | scheduler | はい | Pod をノードに割り当てます。 |
| Cloud Controller Manager | ccm | はい | クラシックロードバランサー (CLB) や Virtual Private Cloud (VPC) などの Alibaba Cloud サービスと Kubernetes を統合します。CLB は、以前は Server Load Balancer (SLB) と呼ばれていました。 |
| controlplane-events | controlplane-events | はい | メモリ不足 (OOM) による強制終了などのコントロールプレーンイベントをキャプチャします。 |
| ALB Ingress controller | alb | はい | Application Load Balancer (ALB) に基づいて、Service のための統一された Ingress エントリポイントを提供します。 |
| cluster-autoscaler | cluster-autoscaler | いいえ | ACK クラスター内のノードを自動的にスケーリングします。 |
| ack-goatscaler | ack-goatscaler | いいえ | ACK ノードに瞬時の弾力性を提供します。 |
| kuberay-operator | kuberay-operator | いいえ | ACK のスケジューリング、伸縮自在なクォータ、リソース優先度で KubeRay オペレーターを拡張し、Ray クラスターを管理します。 |
デフォルトで収集 列で いいえ とマークされているコンポーネントは、手動で有効にする必要があります。詳細については、「収集対象コンポーネントの更新」をご参照ください。
ログ収集の有効化
コントロールプレーンのログ収集は、クラスター作成時、または既存のクラスターで有効にできます。詳細については、「コントロールプレーンコンポーネント」をご参照ください。
ログ収集は、Pro クラスターではデフォルトで有効になっています。Basic クラスターの場合は、手動で有効にする必要があります。
[コントロールプレーンコンポーネントログ] セクションで、既存の SLS プロジェクトを選択します。
クラスター作成時の有効化
-
「ACK マネージドクラスターの作成」の手順に従います。
-
[既存プロジェクトの使用] または [新規プロジェクトの作成] を選択します。[新規プロジェクトの作成] を選択すると、
k8s-log-{ClusterID}という名前の SLS プロジェクトが自動的に作成されます。ログ収集を有効にすると、kube-apiserver、kube-controller-manager、kube-scheduler などのマネージドコントロールプレーンコンポーネントからのログが SLS に送信されます。
既存クラスターでの有効化
-
ACK コンソール にログインします。左側メニューで、[クラスター] をクリックします。
-
[クラスター] ページで、対象クラスターの名前をクリックします。左側メニューで、[オペレーション] > [ログセンター] を選択します。
-
[コントロールプレーンコンポーネントログ] タブをクリックし、[コンポーネントログ収集の有効化] をクリックします。
ログのクエリ
コントロールプレーンログは、ACK コンソールまたは SLS コンソールでクエリできます。クエリ構文については、「インデックスベースのクエリと分析」をご参照ください。
ACK コンソールでのクエリ
以下のいずれかの手順を実行します。
クラスター概要から:
-
[基本情報] タブをクリックします。
-
[コントロールプレーンコンポーネントログ] の横にある [表示] をクリックします。
-
[ログセンター] ページで、コンポーネントを選択してログを表示します。
オペレーションセクションから:
-
クラスター詳細ページの左側メニューで、[オペレーション] > [ログセンター] を選択します。
-
[コントロールプレーンコンポーネントログ] タブをクリックし、コンポーネントを選択します。
SLS コンソールでのクエリ
-
SLS コンソール にログインします。
-
[プロジェクト] セクションで、クラスターのプロジェクトをクリックします。
-
[ログストレージ] > [Logstores] タブで、対象コンポーネントの Logstore をクリックします。
収集対象コンポーネントの更新
ログ収集の対象コンポーネントはいつでも追加または削除できます。
-
[クラスター] ページで、対象クラスターの名前をクリックします。左側メニューで、[オペレーション] > [ログセンター] を選択します。
-
[コントロールプレーンコンポーネントログ] タブをクリックし、[コンポーネントの更新] をクリックします。
-
ダイアログボックスで、必要に応じてコンポーネントを選択または選択解除し、[OK] をクリックします。
すべてのコンポーネントの選択を解除すると、コントロールプレーンのログ収集が無効になります。
ログ収集の無効化
-
[クラスター] ページで、対象クラスターの名前をクリックします。左側メニューで、[オペレーション] > [ログセンター] を選択します。
-
[コントロールプレーンコンポーネントログ] タブをクリックし、[閉じる] をクリックします。