Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Integrate Simple Log Service with a registered cluster

Dernière mise à jour :Aug 11, 2026

L'intégration d'un cluster enregistré avec Simple Log Service offre une méthode unifiée pour gérer les clusters Kubernetes répartis dans différents environnements. Cette rubrique explique comment intégrer Simple Log Service à un cluster enregistré en utilisant une application dans Container Service for Kubernetes (ACK).

Prérequis

Étape 1 : Configurer les autorisations RAM

Utiliser onectl

  1. Installez et configurez onectl sur votre machine locale. Pour plus d'informations, consultez la section Gérer les clusters enregistrés à l'aide d'onectl.

  2. Exécutez la commande suivante pour configurer les autorisations RAM du composant Simple Log Service :

    onectl ram-user grant --addon logtail-ds

    Résultat attendu :

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

Utiliser la console

Avant d'installer des composants dans un cluster enregistré, créez une paire de clés AccessKey pour accorder au cluster les autorisations nécessaires afin d'accéder aux services cloud. Cela implique de créer un utilisateur RAM et de lui attribuer les permissions requises.

  1. Créez un utilisateur RAM.

  2. Créez une stratégie personnalisée. Utilisez le contenu de stratégie suivant.

    Afficher l'exemple de code

    {
        "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. Attachez la stratégie à l'utilisateur RAM.

  4. Créez une clé AccessKey pour l'utilisateur RAM.

    Avertissement

    Pour renforcer la sécurité, configurez une politique de contrôle d'accès réseau pour la clé AccessKey afin de restreindre l'accès aux environnements réseau de confiance. Pour plus d'informations, consultez la section Politiques de restriction d'accès réseau basées sur les clés AccessKey.

  5. Utilisez la paire de clés AccessKey pour créer un Secret nommé alibaba-addon-secret dans le cluster enregistré.

    Exécutez la commande suivante pour créer le Secret utilisé par le composant Logtail.

    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>'
    Remarque

    Remplacez <your AccessKey ID> et <your AccessKey Secret> par vos identifiants AccessKey.

Étape 2 : Installer le composant logtail-ds

Utiliser onectl

Exécutez la commande suivante pour installer le composant logtail-ds :

onectl addon install logtail-ds

Résultat attendu :

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

Utiliser la console

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, cliquez sur Add-ons.

  3. Sur la page Add-ons, cliquez sur l'onglet Logs and Monitoring. Localisez le composant logtail-ds et cliquez sur Install dans le coin inférieur droit de la carte.

  4. Dans la boîte de dialogue Note, cliquez sur OK.

(Facultatif) Étape 3 : Configurer la collecte des journaux depuis les pods

Journaux texte

Pour collecter les journaux texte depuis les pods, connectez-vous au cluster enregistré à l'aide de kubectl et appliquez la configuration AliyunLogConfig suivante.

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  name: test-file                  # The name of the resource. The name must be unique in the Kubernetes cluster.
spec:
  project: k8s-log-c326bc86****    # Optional. The name of the project. You can customize the name. We recommend that you name the project in the k8s-log-<cluster-id> format.
  logstore: test-file              # Required. The name of the Logstore. If the specified Logstore does not exist, Simple Log Service automatically creates it.
  logtailConfig:                   # The Logtail configuration.
    inputType: file                # The type of the data source. Set the value to file for text logs or plugin for stdout.
    configName: test-file          # The name of the Logtail configuration. The name must be the same as the resource name specified by metadata.name.
    inputDetail:                   # The details of the Logtail configuration.
      logType: common_reg_log      # Collects text logs in simple mode.
      logPath: /log/               # The path where the log files are stored.
      filePattern: "*.log"         # The name of the log file. You can use asterisks (*) and question marks (?) as wildcards. Example: log_*.log.
      dockerFile: true             # Specifies whether to collect logs from files in containers. Set the value to true.
      advanced:                    # Specifies the conditions to filter containers.
        k8s:
          K8sNamespaceRegex: ^(default)$
          K8sPodRegex: '^(nginx-log-demo.*)$'
          K8sContainerRegex: ^(nginx-log-demo-0)$
          IncludeK8sLabel:
            job-name: "^(nginx-log-demo.*)$"

Pour plus d'informations sur les paramètres, consultez la section Configurations Logtail (héritage).

Stdout

Pour collecter les flux stdout depuis les pods, connectez-vous au cluster enregistré à l'aide de kubectl et appliquez la configuration AliyunLogConfig suivante. L'application de cette configuration crée automatiquement un Logstore nommé stdout-logstore et y collecte les journaux.

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  # The name of your configuration. The name must be unique in your Kubernetes cluster.
  name: stdout-collector
spec:
  # The name of the Logstore to which logs are uploaded.
  logstore: stdout-logstore
  # The details of the Logtail configuration.
  logtailConfig:
    # The input type for Docker stdout. Must be 'plugin'.
    inputType: plugin
    # The name of the Logtail configuration. Must match metadata.name.
    configName: stdout-collector
    inputDetail:
      plugin:
        inputs:
          -
            type: service_docker_stdout
            detail:
              # Collects stdout and stderr.
              Stdout: true
              Stderr: true
              # Collects the stdout of all containers except for those with the COLLECT_STDOUT_FLAG:false environment variable.

Étape 4 : Configurer Simple Log Service