Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:integrate simple log service with registered clusters

Última atualização: Jun 27, 2026

Ao executar clusters Kubernetes fora do ACK — como em um data center on-premises — você perde a observabilidade nativa oferecida pelos clusters gerenciados. O Simple Log Service (SLS) preenche essa lacuna ao fornecer coleta e análise centralizada de logs em todos os seus clusters registrados, independentemente de onde estejam em execução.

Este tópico orienta você em três tarefas: conceder as permissões do Resource Access Management (RAM) necessárias para o add-on logtail-ds, instale o add-on e, opcionalmente, configure regras de coleta de logs para todo o cluster.

Pré-requisitos

Antes de começar, certifique-se de que:

Etapa 1: Configure permissões do RAM para componentes do SLS

O add-on logtail-ds requer permissões do RAM para gravar logs no SLS. Dois métodos estão disponíveis:

Método

Mais indicado para

onectl (recomendado)

Caminho mais rápido — um único comando concede automaticamente todas as permissões necessárias.

Console

Cenários que exigem controle refinado sobre o usuário e a política do RAM.

Usar o onectl (recomendado)

  1. Instale o onectl na sua máquina on-premises. Consulte Usar o onectl para gerencie clusters registrados.

  2. Conceda permissões do RAM para os componentes do SLS:

    onectl ram-user grant --addon logtail-ds

    Saída esperada:

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

Usar o console

Este método exige a criação de um usuário do RAM, a anexação de uma política personalizada e o armazenamento das credenciais como um Secret do Kubernetes.

  1. Crie um usuário do RAM.

  2. Crie uma política personalizada com o seguinte conteúdo:

    Expandir para visualize as permissões necessárias para componentes do 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. Anexe a política personalizada ao usuário do RAM.

  4. Crie um AccessKey para o usuário do RAM.

    Aviso

    Configure uma política de rede para restringir chamadas do AccessKey a ambientes de rede confiáveis. Consulte Política de restrição de acesso à rede do AccessKey.

  5. Crie um Secret chamado alibaba-addon-secret no namespace kube-system usando o AccessKey da etapa anterior:

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

Etapa 2: Instale o componente logtail-ds

Usar o onectl (recomendado)

Instale o logtail-ds com um único comando:

onectl addon install logtail-ds

Saída esperada:

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

Usar o console

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique em no nome do seu cluster registrado. No painel de navegação à esquerda, clique em Add-ons.

  3. Na página Add-ons, clique em na aba Logs and Monitoring. Localize o logtail-ds e clique em Install no canto inferior direito do cartão correspondente.

  4. Na caixa de diálogo de confirmação, clique em OK.

(Opcional) Etapa 3: Configure a coleta de logs para todos os pods

Conecte-se ao cluster registrado via kubectl e aplique a configuração correspondente ao tipo de log desejado.

Logs de texto

Implante o seguinte recurso AliyunLogConfig para coletar arquivos de log de texto de todos os pods:

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  name: test-file                  # Must be unique in the cluster.
spec:
  project: k8s-log-c326bc86****    # Optional. Recommended format: k8s-log-<cluster ID>.
  logstore: test-file              # Required. SLS creates this Logstore automatically if it does not exist.
  logtailConfig:
    inputType: file                # "file" for text logs; "plugin" for standard output.
    configName: test-file          # Must match metadata.name.
    inputDetail:
      logType: common_reg_log      # Collect text logs in simple mode.
      logPath: /log/               # Directory where log files are located.
      filePattern: "*.log"         # Supports wildcard characters * and ?.
      dockerFile: true             # Set to true to collect files inside containers.
      advanced:                    # Optional container filter conditions.
        k8s:
          K8sNamespaceRegex: ^(default)$
          K8sPodRegex: '^(nginx-log-demo.*)$'
          K8sContainerRegex: ^(nginx-log-demo-0)$
          IncludeK8sLabel:
            job-name: "^(nginx-log-demo.*)$"

Para obter a referência completa dos campos de configuração do Logtail, consulte Configurações do Logtail (legado).

Saída padrão

Implante o seguinte recurso AliyunLogConfig para coletar stdout e stderr de todos os contêineres. Após uma implantação bem-sucedida, o SLS cria automaticamente um Logstore chamado stdout-logstore e inicia a coleta de logs nele.

Todos os contêineres são incluídos por padrão, exceto aqueles com COLLECT_STDOUT_FLAG:false defina na configuração de ambiente do Docker.

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  name: stdout-collector           # Must be unique in the cluster.
spec:
  logstore: stdout-logstore        # Logstore to upload logs to.
  logtailConfig:
    inputType: plugin              # Use "plugin" for Docker stdout.
    configName: stdout-collector   # Must match metadata.name.
    inputDetail:
      plugin:
        inputs:
          - type: service_docker_stdout
            detail:
              Stdout: true
              Stderr: true
              # Collects all containers except those with "COLLECT_STDOUT_FLAG:false" in Docker env config.

Etapa 4: Configure o Simple Log Service

Com o logtail-ds instalado e a coleta de logs em execução, configure o SLS para processar e analisar os logs coletados:

Tópicos relacionados