すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:システムコンポーネントのログファイルの収集

最終更新日:Dec 12, 2024

システムコンポーネントは、DaemonSets、Deployments、およびその他のKubernetesリソースを使用して、Container Service for Kubernetes (ACK) クラスターのストレージおよびネットワーク機能を実装します。 これらのKubernetesリソースはkube-system名前空間にデプロイされます。 このトピックでは、ストレージ、ネットワーク、および自動スケーリングコンポーネントのログファイルを収集する方法について説明します。

前提条件

  • logtail-dsコンポーネントがクラスターにインストールされます。

    ACKクラスターを作成すると、システムは自動的にlogtail-dsコンポーネントを選択します。 logtail-dsコンポーネントがインストールされていない場合は、まずコンポーネントをインストールします。 logtail-dsコンポーネントのインストール方法の詳細については、「log Serviceを使用したコンテナーからのログデータの収集」をご参照ください。

  • alibaba-log-controllerのバージョンが0.2.0.0-76648ee-aliyun以降であることを確認してください。logcontroller

    以前のバージョンのalibaba-log-controllerが使用されている場合は、logtail-dsコンポーネントを更新します。 詳細については、「システムコンポーネントの管理」をご参照ください。

ステップ1: システムコンポーネントのログファイルを収集するための設定ファイルを作成する

ロギング設定は、CustomResourceDefinitions (CRD) を使用して実装できます。 AliyunLogConfig型のカスタムリソースオブジェクトを作成できます。 alibaba-log-controllerは、Log Service設定を自動的に構成し、作成したカスタムリソースオブジェクトに基づいてログレポートを作成します。 カスタムリソースオブジェクトの作成方法の詳細については、「カスタムリソースの管理」をご参照ください。

次の例に基づいてAliyunLogConfigタイプの設定ファイルを作成し、ストレージ、Terway、Flannel、および自動スケーリングコンポーネントのログファイルを収集します。

  • Container Storage Interface (CSI) プラグインのログファイルの収集例:
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # The name that you specify must be unique in the cluster. 
      name: k8s-csi-log
      namespace: kube-system
    spec:
      # The name of the Logstore to which the log files are collected. 
      logstore: k8s-csi-log
      # The detailed settings of the Logtail configuration. 
      logtailConfig:
        # The input type of Docker stdout is plugin. 
        inputType: plugin
        # The name of the Logtail configuration. The name must be the same as that specified by the metadata.name field. 
        configName: k8s-csi-log
        inputDetail:
          plugin:
            inputs:
              -
                # The input type. 
                type: service_docker_stdout
                detail:
                  # Collect stdout and stderr streams. 
                  Stdout: true
                  Stderr: true
                  K8sNamespaceRegex: "^kube-system$"
                  K8sPodRegex: "^csi.*$"
  • Terwayプラグインのログファイルの収集例:
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # The name that you specify must be unique in the cluster. 
      name: k8s-terway-log
      namespace: kube-system
    spec:
      # The name of the Logstore to which the log files are collected. 
      logstore: k8s-terway-log
      # The detailed settings of the Logtail configuration. 
      logtailConfig:
      # The input type of Docker stdout is plugin. 
        inputType: plugin
        # The name of the Logtail configuration. The name must be the same as that specified by the metadata.name field. 
        configName: k8s-terway-log
        inputDetail:
          plugin:
            inputs:
              -
                # The input type. 
                type: service_docker_stdout
                detail:
                  # Collect stdout and stderr streams. 
                  Stdout: true
                  Stderr: true
                  K8sNamespaceRegex: "^kube-system$"
                  K8sPodRegex: "^terway-eniip.*$"
  • Flannelプラグインのログファイルの収集例:
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # The name that you specify must be unique in the cluster. 
      name: k8s-flannel-log
      namespace: kube-system
    spec:
      # The name of the Logstore to which the log files are collected. 
      logstore: k8s-flannel-log
      # The detailed settings of the Logtail configuration. 
      logtailConfig:
        # The input type of Docker stdout is plugin. 
        inputType: plugin
        # The name of the Logtail configuration. The name must be the same as that specified by the metadata.name field. 
        configName: k8s-flannel-log
        inputDetail:
          plugin:
            inputs:
              -
                # The input type. 
                type: service_docker_stdout
                detail:
                  # Collect stdout and stderr streams. 
                  Stdout: true
                  Stderr: true
                  K8sNamespaceRegex: "^kube-system$"
                  K8sPodRegex: "^kube-flannel-ds.*$"
  • 自動スケーリングプラグインのログファイルの収集例:
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # The name that you specify must be unique in the cluster. 
      name: k8s-cluster-autoscaler-log
      namespace: kube-system
    spec:
      # The name of the Logstore to which the log files are collected. 
      logstore: k8s-cluster-autoscaler-log
      # The detailed settings of the Logtail configuration. 
      logtailConfig:
        # The input type of Docker stdout is plugin. 
        inputType: plugin
        # The name of the Logtail configuration. The name must be the same as that specified by the metadata.name field. 
        configName: k8s-cluster-autoscaler-log
        inputDetail:
          plugin:
            inputs:
              -
                # The input type. 
                type: service_docker_stdout
                detail:
                  # Collect stdout and stderr streams. 
                  Stdout: true
                  Stderr: true
                  K8sNamespaceRegex: "^kube-system$"
                  K8sPodRegex: "^cluster-autoscaler.*$"

ステップ2: ログファイルの表示

ログファイルを表示する方法の詳細については、「手順3: ログの照会と分析」をご参照ください。