בדף הזה מוסבר איך לייצא את יומני הביקורת והתפעול במכשיר Google Distributed Cloud (GDC) עם בידוד פיזי לקטגוריה מרוחקת באמצעות הכלי להעברת נתונים.
קבלת תפקידי IAM
כדי לקבל את ההרשאות שדרושות לייצוא יומנים, צריך לבקש מאדמין IAM בארגון להקצות לכם את התפקיד Logs Transfer Admin (logs-transfer-admin) במרחב השמות obs-system באשכול התשתית, ואת התפקיד Logs Bucket Viewer (logs-bucket-viewer)) במרחב השמות obs-system במישור הניהול.
מידע נוסף על התפקידים האלה זמין במאמר הכנת הרשאות IAM.
קבלת נקודת הקצה והשם המוגדר במלואו של קטגוריית המקור
הגדרת
KUBECONFIGל-Org Management API:export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATHמקבלים את נקודת הקצה של קטגוריית המקור:
לגבי יומני ביקורת:
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'
מקבלים את השם המוגדר במלואו של קטגוריית המקור:
לגבי יומני ביקורת:
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'
השגת פרטי גישה לקטגוריית המקור
מגדירים את KUBECONFIG לאשכול Org Infra:
export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHמקבלים את מזהה מפתח הגישה של קטגוריית המקור:
לגבי יומני ביקורת:
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
מקבלים את מפתח הגישה הסודי של קטגוריית המקור:
לגבי יומני ביקורת:
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יוצרים סוד עם פרטי הגישה של קטגוריית המקור:
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יוצרים סוד עם פרטי הגישה של קטגוריית היעד:
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כדי להמשיך, צריך לקבל את
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