システムプラグイン (アドオン) は、DaemonSet や Deployment などの Kubernetes リソースを使用して、クラスターにストレージやネットワークなどの機能を提供します。これらのリソースは kube-system 名前空間にデプロイされます。このトピックでは、ストレージ、ネットワーク、自動スケーリングプラグインなどの主要なシステムプラグインのログ収集を設定する方法について説明します。
前提条件
Logtail コンポーネントを使用する場合、alibaba-log-controller アプリケーションのバージョンが 0.2.0.0-76648ee-aliyun 以降であることを確認してください。
alibaba-log-controller のバージョンが古い場合は、Logtail コンポーネントをアップグレードできます。コンポーネントのアップグレード方法の詳細については、「コンポーネント」をご参照ください。
LoongCollector コンポーネントを使用する場合、バージョンの要件はありません。
ステップ 1:システムプラグインのログ設定ファイルを作成する
ACK のログ収集は、カスタムリソース定義 (CRD) を使用して拡張されます。AliyunLogConfig CRD 設定をデプロイすると、Log Controller は自動的に必要な収集設定と Simple Log Service のレポートリソースを作成します。カスタムリソースの作成方法の詳細については、「カスタムリソースの管理」をご参照ください。
以下の例を使用して、ストレージ、Terway ネットワーク、Flannel ネットワーク、または自動スケーリングプラグインの AliyunLogConfig 設定ファイルを作成してください。
-
CSI ストレージプラグインのログ設定例:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # 設定名は Kubernetes クラスター内で一意である必要があります。 name: k8s-csi-log namespace: kube-system spec: # ログアップロード用の Logstore の名前。 logstore: k8s-csi-log # Logtail 設定の詳細。 logtailConfig: # Docker 標準出力の入力タイプは "plugin" です。 inputType: plugin # Logtail 設定の名前。metadata.name と同じである必要があります。 configName: k8s-csi-log inputDetail: plugin: inputs: - # 入力タイプ。 type: service_docker_stdout detail: # 標準出力と標準エラー出力を収集します。 Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^csi.*$" -
Terway ネットワークプラグインのログ設定例:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # 設定名は Kubernetes クラスター内で一意である必要があります。 name: k8s-terway-log namespace: kube-system spec: # ログアップロード用の Logstore の名前。 logstore: k8s-terway-log # Logtail 設定の詳細。 logtailConfig: # Docker 標準出力の入力タイプは "plugin" です。 inputType: plugin # Logtail 設定の名前。metadata.name と同じである必要があります。 configName: k8s-terway-log inputDetail: plugin: inputs: - # 入力タイプ。 type: service_docker_stdout detail: # 標準出力と標準エラー出力を収集します。 Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^terway-eniip.*$" -
Flannel ネットワークプラグインのログ設定例:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # 設定名は Kubernetes クラスター内で一意である必要があります。 name: k8s-flannel-log namespace: kube-system spec: # ログアップロード用の Logstore の名前。 logstore: k8s-flannel-log # Logtail 設定の詳細。 logtailConfig: # Docker 標準出力の入力タイプは "plugin" です。 inputType: plugin # Logtail 設定の名前。metadata.name と同じである必要があります。 configName: k8s-flannel-log inputDetail: plugin: inputs: - # 入力タイプ。 type: service_docker_stdout detail: # 標準出力と標準エラー出力を収集します。 Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^kube-flannel-ds.*$" -
自動スケーリングプラグインのログ設定例:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # 設定名は Kubernetes クラスター内で一意である必要があります。 name: k8s-cluster-autoscaler-log namespace: kube-system spec: # ログアップロード用の Logstore の名前。 logstore: k8s-cluster-autoscaler-log # Logtail 設定の詳細。 logtailConfig: # Docker 標準出力の入力タイプは "plugin" です。 inputType: plugin # Logtail 設定の名前。metadata.name と同じである必要があります。 configName: k8s-cluster-autoscaler-log inputDetail: plugin: inputs: - # 入力タイプ。 type: service_docker_stdout detail: # 標準出力と標準エラー出力を収集します。 Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^cluster-autoscaler.*$"
ステップ 2:ログを表示する
ログの表示方法の詳細については、「ACK クラスター内のコンテナからログを収集する」をご参照ください。