ייצוא יומנים לדלי מרוחק

בדף הזה מוסבר איך לייצא את יומני הביקורת והתפעול במכשיר Google Distributed Cloud ‏ (GDC) עם בידוד פיזי לקטגוריה מרוחקת באמצעות הכלי להעברת נתונים.

קבלת תפקידי IAM

כדי לקבל את ההרשאות שדרושות לייצוא יומנים, צריך לבקש מאדמין IAM בארגון להקצות לכם את התפקיד Logs Transfer Admin (logs-transfer-admin) במרחב השמות obs-system באשכול התשתית, ואת התפקיד Logs Bucket Viewer (logs-bucket-viewer)) במרחב השמות obs-system במישור הניהול.

מידע נוסף על התפקידים האלה זמין במאמר הכנת הרשאות IAM.

קבלת נקודת הקצה והשם המוגדר במלואו של קטגוריית המקור

  1. הגדרת KUBECONFIG ל-Org Management API:

    export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATH
    
  2. מקבלים את נקודת הקצה של קטגוריית המקור:

    • לגבי יומני ביקורת:

      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'
      
  3. מקבלים את השם המוגדר במלואו של קטגוריית המקור:

    • לגבי יומני ביקורת:

      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'
      

השגת פרטי גישה לקטגוריית המקור

  1. מגדירים את KUBECONFIG לאשכול Org Infra:

      export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
    
  2. מקבלים את מזהה מפתח הגישה של קטגוריית המקור:

    • לגבי יומני ביקורת:

      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
      
  3. מקבלים את מפתח הגישה הסודי של קטגוריית המקור:

    • לגבי יומני ביקורת:

      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
      

יומני העברה

  1. מגדירים את KUBECONFIG לאשכול Org Infra:

    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
    
  2. יוצרים סוד עם פרטי הגישה של קטגוריית המקור:

    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. יוצרים סוד עם פרטי הגישה של קטגוריית היעד:

    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. יוצרים סוד עם רשות אישורים לאימות נקודת הקצה של קטגוריית היעד:

    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 מהמאגר המרוחק. הפעולה של הכלי להעברת נתונים תלויה במיקומים הספציפיים של נקודות הקצה של ההעברה.

  5. יצירת משימת העברת יומנים:

    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. מחכים לסיום של עבודת ההעברה:

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