Questa pagina descrive come esportare i log di controllo e operativi nell'appliance air-gap di Google Distributed Cloud (GDC) in un bucket remoto utilizzando lo strumento di trasferimento dello spazio di archiviazione.
Ottenere ruoli IAM
Per ottenere le autorizzazioni necessarie per esportare i log, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore trasferimento log (logs-transfer-admin) nello spazio dei nomi obs-system nel cluster di infrastruttura e il ruolo Visualizzatore bucket di log (logs-bucket-viewer)) nello spazio dei nomi obs-system nel management plane.
Per saperne di più su questi ruoli, consulta Prepara le autorizzazioni IAM.
Ottieni l'endpoint e il nome completo del bucket di origine
Imposta
KUBECONFIGsull'API Organization Management:export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATHRecupera l'endpoint del bucket di origine:
Per gli audit log:
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'Per i log operativi:
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
Recupera il nome completo del bucket di origine:
Per gli audit log:
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'Per i log operativi:
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
Ottieni le credenziali di accesso del bucket di origine
Imposta KUBECONFIG sul cluster Org Infra:
export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHOttieni l'ID chiave di accesso del bucket di origine:
Per gli audit log:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -diPer i log operativi:
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
Recupera la chiave di accesso segreta del bucket di origine:
Per gli audit log:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -diPer i log operativi:
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
Log di trasferimento
Imposta
KUBECONFIGsul cluster dell'infrastruttura dell'organizzazione:export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHCrea un secret con le credenziali di accesso del bucket di origine:
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_KEYCrea un secret con le credenziali di accesso del bucket di destinazione:
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_KEYCrea un secret con l'autorità di certificazione per autenticare l'endpoint del bucket di destinazione:
kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME --from-file="ca.crt"=CA_FILEPer procedere, recupera
CA_FILE,DST_BUCKET_ACCESS_KEY_IDeDST_BUCKET_SECRET_ACCESS_KEYdal bucket remoto. Il funzionamento dello strumento di trasferimento dei dati dipende dalle posizioni specifiche degli endpoint di trasferimento.Crea un job di trasferimento dei log:
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. ---Attendi il completamento del job di trasferimento:
kubectl wait --for=condition=complete job/JOB_NAME -n obs-system