Halaman ini menjelaskan cara mengekspor log audit dan operasional di perlengkapan air-gapped Google Distributed Cloud (GDC) ke bucket jarak jauh menggunakan alat transfer penyimpanan.
Mendapatkan peran IAM
Untuk mendapatkan izin yang diperlukan untuk mengekspor log, minta Admin IAM Organisasi Anda untuk memberi Anda peran Logs Transfer Admin (logs-transfer-admin) di namespace obs-system di cluster infrastruktur dan peran Logs Bucket Viewer (logs-bucket-viewer)) di namespace obs-system di management plane.
Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Siapkan izin IAM.
Mendapatkan endpoint dan nama bucket sumber yang sepenuhnya memenuhi syarat
Setel
KUBECONFIGke Org Management API:export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATHDapatkan endpoint bucket sumber:
Untuk log audit:
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'Untuk log operasional:
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
Dapatkan nama bucket sumber yang sepenuhnya memenuhi syarat:
Untuk log audit:
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'Untuk log operasional:
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
Mendapatkan kredensial akses bucket sumber
Tetapkan KUBECONFIG ke cluster Org Infra:
export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHDapatkan ID kunci akses bucket sumber:
Untuk log audit:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -diUntuk log operasional:
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
Dapatkan kunci akses rahasia bucket sumber:
Untuk log audit:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -diUntuk log operasional:
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
Log transfer
Tetapkan
KUBECONFIGke cluster Org Infra:export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHBuat secret dengan kredensial akses bucket sumber:
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_KEYBuat secret dengan kredensial akses bucket tujuan:
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_KEYBuat secret dengan certificate authority untuk mengautentikasi endpoint bucket tujuan:
kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME --from-file="ca.crt"=CA_FILEBuat tugas transfer 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. ---Tunggu hingga tugas transfer selesai:
kubectl wait --for=condition=complete job/JOB_NAME -n obs-system