本頁說明如何使用儲存空間移轉工具,將 Google Distributed Cloud (GDC) 氣隙式裝置中的稽核和作業記錄匯出至遠端 bucket。
取得 IAM 角色
如要取得匯出記錄所需的權限,請要求組織 IAM 管理員在基礎架構叢集的 obs-system 命名空間中,授予您「記錄轉移管理員」(logs-transfer-admin) 角色,並在管理層的 obs-system 命名空間中,授予您「記錄 bucket 檢視者」(logs-bucket-viewer)) 角色。
如要進一步瞭解這些角色,請參閱「準備 IAM 權限」。
取得來源 bucket 的端點和完整名稱
將
KUBECONFIG設為 Org Management API:export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATH取得來源 bucket 的端點:
稽核記錄:
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'作業記錄檔:
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
取得來源 bucket 的完整名稱:
稽核記錄:
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'作業記錄檔:
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
取得來源 bucket 的存取憑證
將 KUBECONFIG 設為 Org Infra 叢集:
export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH取得來源 bucket 的存取金鑰 ID:
稽核記錄:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di作業記錄檔:
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
取得來源 bucket 的私密存取金鑰:
稽核記錄:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di作業記錄檔:
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
轉移記錄
將
KUBECONFIG設為 Org Infra 叢集:export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH使用來源 bucket 的存取憑證建立密鑰:
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使用目的地 bucket 的存取憑證建立密鑰:
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建立含有憑證授權單位的密鑰,用於驗證目的地儲存空間的端點:
kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME --from-file="ca.crt"=CA_FILE如要繼續,請從遠端 bucket 取得
CA_FILE、DST_BUCKET_ACCESS_KEY_ID和DST_BUCKET_SECRET_ACCESS_KEY。資料移轉工具的運作方式取決於移轉端點的具體位置。建立記錄轉移工作:
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. ---等待轉移作業完成:
kubectl wait --for=condition=complete job/JOB_NAME -n obs-system