Exporte registos para um contentor remoto

Esta página descreve como exportar os registos de auditoria e operacionais no dispositivo isolado do Google Distributed Cloud (GDC) para um contentor remoto através da ferramenta de transferência de armazenamento.

Obtenha funções de IAM

Para receber as autorizações necessárias para exportar registos, peça ao administrador de IAM da organização que lhe conceda a função de administrador de transferência de registos (logs-transfer-admin) no espaço de nomes obs-system no cluster de infraestrutura e a função de visualizador do contentor de registos (logs-bucket-viewer)) no espaço de nomes obs-system no plano de gestão.

Para mais informações sobre estas funções, consulte o artigo Prepare as autorizações de IAM.

Obtenha o ponto final e o nome totalmente qualificado do contentor de origem

  1. Defina KUBECONFIG para a API Org Management:

    export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATH
    
  2. Obtenha o ponto final do contentor de origem:

    • Para registos de auditoria:

      kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
      
    • Para registos operacionais:

      kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
      
  3. Obtenha o nome totalmente qualificado do contentor de origem:

    • Para registos de auditoria:

      kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
      
    • Para registos operacionais:

      kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
      

Obtenha as credenciais de acesso do contentor de origem

  1. Defina KUBECONFIG para o cluster de infraestrutura da organização:

      export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
    
  2. Obtenha o ID da chave de acesso do contentor de origem:

    • Para registos de auditoria:

      kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
      
    • Para registos operacionais:

      kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
      
  3. Obtenha a chave de acesso secreta do contentor de origem:

    • Para registos de auditoria:

      kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
      
    • Para registos operacionais:

      kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
      

Transfira registos

  1. Defina KUBECONFIG para o cluster de infraestrutura da organização:

    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
    
  2. Crie um segredo com as credenciais de acesso do contentor de origem:

    kubectl create secret generic -n obs-system SRC_BUCKET_SECRET_NAME
    --from-literal=access-key-id=SRC_BUCKET_ACCESS_KEY_ID
    --from-literal=secret-access-key=SRC_BUCKET_SECRET_ACCESS_KEY
    
  3. Crie um segredo com as credenciais de acesso do contentor de destino:

    kubectl create secret generic -n obs-system DST_BUCKET_SECRET_NAME 
    --from-literal=access-key-id=DST_BUCKET_ACCESS_KEY_ID   
    --from-literal=secret-access-key=DST_BUCKET_SECRET_ACCESS_KEY
    
  4. Crie um segredo com a autoridade de certificação para autenticar o ponto final do contentor de destino:

    kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME 
    --from-file="ca.crt"=CA_FILE
    
  5. Crie uma tarefa de transferência de registos:

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: JOB_NAME
      namespace: obs-system
    spec:
      template:
        spec:
          serviceAccountName: logs-transfer-sa
          containers:
            - name: storage-transfer-pod
              image: gcr.io/private-cloud-staging/storage-transfer:latest
              imagePullPolicy: Always
              command:
                - /storage-transfer
              args:
                - '--src_endpoint=SRC_BUCKET_ENDPOINT'
                - '--dst_endpoint=DST_BUCKET_ENDPOINT'
                - '--src_path=SRC_BUCKET_FULLY_QUALIFIED_NAME'
                - '--dst_path=DST_BUCKET_FULLY_QUALIFIED_NAME'
                - '--src_credentials=obs-system/SRC_BUCKET_SECRET_NAME'
                - '--dst_credentials=obs-system/DST_BUCKET_SECRET_NAME'
                - '--dst_ca_certificate_reference=obs-system/DST_BUCKET_CA_SECRET_NAME'
                - '--src_ca_certificate_reference=obs-system/trust-store-root-ext'
                - '--src_type=s3'
                - '--dst_type=s3'
                - '--bandwidth_limit=1G'
          restartPolicy: OnFailure.
    ---
    
  6. Aguarde pela conclusão da tarefa de transferência:

    kubectl wait --for=condition=complete job/JOB_NAME -n obs-system