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

Container Service for Kubernetes:登録済みクラスターと Simple Log Service を連携させる方法

最終更新日:Feb 26, 2026

Simple Log Service (SLS) と登録済みクラスターを連携させることで、様々な場所にある Kubernetes クラスターを統一的に管理できます。このトピックでは、Alibaba Cloud Container Service for Kubernetes (ACK) のアプリケーションを使用して、Simple Log Service と登録済みクラスターを連携させる方法について説明します。

前提条件

ステップ 1: Simple Log Service コンポーネントの RAM 権限の設定

onectl の使用

  1. オンプレミスマシンに onectl をインストールします。 詳細については、「onectl を使用した登録済みクラスターの管理」をご参照ください。

  2. 次のコマンドを実行して、Simple Log Service コンポーネントの RAM 権限を設定します。

    onectl ram-user grant --addon logtail-ds

    期待される出力:

    Ram policy ack-one-registered-cluster-policy-logtail-ds granted to ram user ack-one-user-ce313528c3 successfully.

コンソールの使用

登録済みクラスターにコンポーネントをインストールする前に、AccessKey を設定して、クラスターに Alibaba Cloud サービスへのアクセス権限を付与する必要があります。 AccessKey を設定する前に、RAM ユーザーを作成し、関連するクラウドリソースへのアクセス権限を追加します。

  1. RAM ユーザーの作成

  2. カスタムポリシーの作成。 ポリシーの内容は次のとおりです。

    Logtail コンポーネントに必要な権限を展開して表示

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "log:CreateProject",
                    "log:GetProject",
                    "log:DeleteProject",
                    "log:CreateLogStore",
                    "log:GetLogStore",
                    "log:UpdateLogStore",
                    "log:DeleteLogStore",
                    "log:CreateConfig",
                    "log:UpdateConfig",
                    "log:GetConfig",
                    "log:DeleteConfig",
                    "log:CreateMachineGroup",
                    "log:UpdateMachineGroup",
                    "log:GetMachineGroup",
                    "log:DeleteMachineGroup",
                    "log:ApplyConfigToGroup",
                    "log:GetAppliedMachineGroups",
                    "log:GetAppliedConfigs",
                    "log:RemoveConfigFromMachineGroup",
                    "log:CreateIndex",
                    "log:GetIndex",
                    "log:UpdateIndex",
                    "log:DeleteIndex",
                    "log:CreateSavedSearch",
                    "log:GetSavedSearch",
                    "log:UpdateSavedSearch",
                    "log:DeleteSavedSearch",
                    "log:CreateDashboard",
                    "log:GetDashboard",
                    "log:UpdateDashboard",
                    "log:DeleteDashboard",
                    "log:CreateJob",
                    "log:GetJob",
                    "log:DeleteJob",
                    "log:UpdateJob",
                    "log:PostLogStoreLogs",
                    "log:CreateSortedSubStore",
                    "log:GetSortedSubStore",
                    "log:ListSortedSubStore",
                    "log:UpdateSortedSubStore",
                    "log:DeleteSortedSubStore",
                    "log:CreateApp",
                    "log:UpdateApp",
                    "log:GetApp",
                    "log:DeleteApp",
                    "cs:DescribeTemplates",
                    "cs:DescribeTemplateAttribute"
                ],
                "Resource": [
                    "*"
                ],
                "Effect": "Allow"
            }
        ]
    }
  3. RAM ユーザーの権限管理

  4. RAM ユーザーの AccessKey の作成

    警告

    AccessKey のセキュリティを向上させるために、ネットワークポリシーを設定して、AccessKey の呼び出しを信頼できるネットワーク環境に制限することを推奨します。 詳細については、「AccessKey のネットワークアクセス制限ポリシー」をご参照ください。

  5. AccessKey を使用して、登録済みクラスターに alibaba-addon-secret という名前の Secret リソースを作成します。

    次のコマンドを実行して、Logtail コンポーネントが使用する Secret を作成します。

    kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
    説明

    <your AccessKey ID><your AccessKey Secret> は、前のステップで取得した AccessKey 情報です。

ステップ 2: logtail-ds コンポーネントのインストール

onectl の使用

次のコマンドを実行して logtail-ds をインストールできます:

onectl addon install logtail-ds

期待される出力:

Addon logtail-ds, version **** installed.

コンソールの使用

  1. ACK コンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスターリスト ページで、対象クラスターの名前をクリックします。 次に、左側のナビゲーションウィンドウで アドオン管理 をクリックします。

  3. アドオン管理 ページで、ログとモニタリング タブをクリックします。[logtail-ds] コンポーネントを探し、そのカードの右下隅にある インストール をクリックします。

  4. 確認ダイアログボックスで、OK をクリックします。

(任意) ステップ 3: すべての Pod のログ出力収集の設定

テキストログ

すべての Pod のテキストログを設定するには、kubectl を使用して登録済みクラスターに接続します。 次に、以下の構成をデプロイします。

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  name: test-file                  # リソース名。現在の Kubernetes クラスター内で一意である必要があります。
spec:
  project: k8s-log-c326bc86****    # 任意。 プロジェクト名。 カスタマイズ可能です。 [k8s-log-クラスター ID] の形式で命名することを推奨します。
  logstore: test-file              # 必須。 Logstore 名。 存在しない場合は、Simple Log Service が自動的に作成します。
  logtailConfig:                   # Logtail 構成。
    inputType: file                # データソースのタイプ。 "file" はテキストログ、"plugin" は標準出力を示します。
    configName: test-file          # Logtail 構成の名前。 リソース名 (metadata.name) と同じである必要があります。
    inputDetail:                   # Logtail 構成の詳細。
      logType: common_reg_log      # シンプルモードでテキストログを収集します。
      logPath: /log/               # ログファイルが配置されているパス。
      filePattern: "*.log"         # ログファイルの名前。 ワイルドカードのアスタリスク (*) と疑問符 (?) をサポートしています。 例: log_*.log。
      dockerFile: true             # コンテナー内のファイルを収集します。 dockerFile を true に設定します。
      advanced:                    # コンテナーのフィルター条件を設定します。
        k8s:
          K8sNamespaceRegex: ^(default)$
          K8sPodRegex: '^(nginx-log-demo.*)$'
          K8sContainerRegex: ^(nginx-log-demo-0)$
          IncludeK8sLabel:
            job-name: "^(nginx-log-demo.*)$"

詳細については、「Logtail 構成 (レガシー)」をご参照ください。

標準出力

すべての Pod の標準出力を設定するには、kubectl を使用して登録済みクラスターに接続します。 次に、以下の構成をデプロイします。 デプロイが成功すると、stdout-logstore という名前の Logstore が自動的に作成され、そこにログが収集されます。

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  # 構成名。k8s クラスター内で一意である必要があります。
  name: stdout-collector
spec:
  # ログをアップロードする Logstore 名。
  logstore: stdout-logstore
  # Logtail 構成の詳細。
  logtailConfig:
    # Docker 標準出力の inputType は 'plugin' です。
    inputType: plugin
    # Logtail 構成名。[metadata.name] と同じにする必要があります。
    configName: stdout-collector
    inputDetail:
      plugin:
        inputs:
          -
            type: service_docker_stdout
            detail:
              # stdout と stderr を収集します。
              Stdout: true
              Stderr: true
              # Docker 環境設定で "COLLECT_STDOUT_FLAG:false" が指定されているコンテナーを除く、すべてのコンテナーの標準出力を収集します。

ステップ 4: Simple Log Service の設定