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

Container Service for Kubernetes:Simple Log Service の設定

最終更新日:Jun 19, 2026

Simple Log Service (SLS) を使用してワークフロー Pod のログを永続化すると、Pod が削除された後もログを照会できます。

仕組み

ワークフロークラスターを作成すると、システムは k8s-log-<clusterid> という名前の SLS プロジェクトを作成します。すべての Pod ログは、workflow-logstore という名前の Logstore に収集されます。

有効化すると、Pod が実行中かどうかに関わらず、Argo CLI、Argo Server、または Argo UI からログを表示できます。

制限事項

  • oss-artifact-repository と比較して、SLS は設定可能なログの保持日数によるログの自動ライフサイクル管理と強力なクエリ機能を提供します。SLS を使用してログを収集するには、archiveLogs: true の設定を削除してください。

  • ログ収集を有効にすると、Pod が削除された後でも、ワークフローが削除される前であればワークフローログを表示できます。

  • ワークフローがデータベースに永続化されている場合、ワークフローが削除された後でも、ログを ZIP ファイルとしてダウンロードするか、SLS コンソールで表示できます。詳細については、「ワークフローの永続化」をご参照ください。

SLS の有効化

k8s-log-<clusterid> プロジェクトが自動的に作成されなかった場合は、手動で作成してください。詳細については、「SLS プロジェクトの作成」をご参照ください。

次のいずれかの方法を選択してください。

方法 最適な用途
Alibaba Cloud Argo CLI 単一の対話型コマンドによる迅速なセットアップ
AliyunLogConfig GitOps ワークフローまたは宣言的な構成管理

Alibaba Cloud Argo CLI を使用した SLS の有効化

Alibaba Cloud Argo CLI は、オープンソースの Argo CLI を拡張して、削除された Pod のログ収集をサポートします。

前提条件

手順

SLS を設定します。プロンプトが表示されたら、ログの保持日数を入力します (デフォルト: 7)。

argo config sls
Please input log retention days. Default is 7 days.
10

期待される出力:

Start to config SLS for your cluster.
Created AliyunLogConfig CR workflow-sls-config in default namespace.
Created SLS logstore workflow-logstore in SLS project k8s-log-<clusterid>, log retention days is 10 days

この出力は、SLS が設定済みであることを示します。すべてのワークフローログは、k8s-log-<clusterid> プロジェクト内の workflow-logstore Logstore に収集されます。

AliyunLogConfig を使用した SLS の有効化

次の YAML を適用して、AliyunLogConfig カスタムリソースを作成します。SLS コントローラーは、k8s-log-<clusterid> プロジェクトと workflow-logstore Logstore を自動的に作成します。

cat << EOF | kubectl apply -f -
apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  name: workflow-sls-config
  namespace: default
spec:
  lifeCycle: 5           # ログの保持期間 (日数)
  logstore: workflow-logstore
  logtailConfig:
    configName: workflow-sls-config
    inputType: plugin    # プラグインベースの入力方式を使用
    inputDetail:
      plugin:
        inputs:
        - type: service_docker_stdout  # コンテナの標準出力と標準エラー出力を収集
          detail:
            Stdout: true
            Stderr: true
EOF

ログ収集の検証

SLS を有効にした後、ログが収集されていることを確認します。

  1. SLS コンソールにログインします。

  2. k8s-log-<clusterid> プロジェクトを検索します。

  3. [workflow-logstore] をクリックし、ログエントリが表示されることを確認します。

ログが表示されない場合は、AliyunLogConfig カスタムリソースが作成されているかどうかを確認してください。

kubectl get aliyunlogconfigs -n default

出力には、エラーステータスのない workflow-sls-config が含まれている必要があります。存在しない場合やエラーがある場合は、有効化手順を再実行するか、RAM ユーザーの権限を確認してください。

Argo CLI を使用したログへのアクセス

Argo CLI には、ワークフローログを表示する 2 つの方法があります。Argo Server を必要としないため、直接的な方法 (--sls フラグ) を推奨します。

kubectl logs <pod-name> を実行して既存の Pod のログを表示できますが、このコマンドはデフォルトで最大 2,000 行を返します。より多くのログや、削除された Pod のログを表示するには、次のいずれかの方法を使用してください。

Argo CLI を直接使用する (推奨)

前提条件

  • Alibaba Cloud Argo CLI 3.4.12 がインストールされている必要があります。

  • RAM ユーザーを使用する場合、RAM ユーザーに [AliyunLogReadOnlyAccess] ポリシーがアタッチされている必要があります。

手順

  1. Argo CLI がクラスターにアクセスできるように設定します。

    argo config init  # プロンプトに従って、AccessKey ID と AccessKey Secret を入力します。
  2. ログを照会します。

    # 特定の Pod のログを表示
    argo logs <workflow-name> <pod-name> --sls
    
    # ワークフローのすべてのログを表示
    argo logs <workflow-name> --sls

Argo Server を使用する

Argo Server 経由で SLS にアクセスするには、次の環境変数を設定します。

Argo Server 経由で SLS ログを照会するには、<pod-name> を指定する必要があります。別の名前空間にアクセスするには、その名前空間の KUBE_TOKEN を取得してください。
  1. 必要な環境変数を設定します。

    export ARGO_SERVER=argo.<cluster id>.<region>.alicontainer.com:2746
    export KUBE_TOKEN=$(kubectl create token default -n default --duration 24h)
    export ARGO_TOKEN="Bearer $KUBE_TOKEN"
    export ARGO_INSECURE_SKIP_VERIFY=true
  2. 特定の Pod のログを照会します。

    argo logs <workflow-name> <pod-name>

データベースに永続化されたワークフローのログの表示

ワークフローがデータベースに永続化されている場合、ワークフローが削除された後でもログをダウンロードできます。

  1. Argo CLI がクラスターにアクセスできるように設定します。

    argo config init  # プロンプトに従って、AccessKey ID と AccessKey Secret を入力します。
  2. アーカイブされたワークフローの UID を取得します。

    argo archive list

    期待される出力:

    NAMESPACE   NAME                   STATUS      AGE   DURATION   PRIORITY   MESSAGE   P/R/C   PARAMETERS   UID
    default     hello-world-l6c2r      Succeeded   3d    1m         0                    0/0/0                179eaef0-fde3-496f-946d-549e8f******
  3. UID を使用してワークフローログをダウンロードします。

    argo archive logs 179eaef0-fde3-496f-946d-549e8f******

    ログは、現在のディレクトリに <workflow-name>.zip として保存されます。

Argo UI でのログの表示

Argo UI は、ワークフロー Pod のログを直接表示します。Pod が削除された場合、リアルタイムの Pod 出力の代わりに SLS ログが表示されます。

View logs

SLS の無効化

  1. AliyunLogConfig カスタムリソースを削除します。

    kubectl delete aliyunlogconfigs.log.alibabacloud.com workflow-sls-config -n default
  2. SLS コンソールにログインし、workflow-logstore Logstore を削除します。

次のステップ

  • ワークフローの永続化 — ワークフローの状態をデータベースに保存し、削除後もログと結果を保持します。

  • Alibaba Cloud Argo CLI — CLI をダウンロードして設定し、すべてのログにアクセスできるようにします。