6๋‹จ๊ณ„: ์žฌ์ •์˜ ๋งŒ๋“ค๊ธฐ

๊ตฌ์„ฑ ์žฌ์ •์˜ ์ง€์ •

Apigee Hybrid ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์€ ๋งŽ์€ ์„ค์ •์— ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ๊ฐ’์ด ์—†๋Š” ๋ช‡ ๊ฐ€์ง€ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ด ์„ค์ •์— ๊ฐ’์„ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

๋‹ค์Œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ฒ€ํ† ํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ์€ ์„ ํƒ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ

์ผ๋ฐ˜์ ์œผ๋กœ ๊ตฌ์„ฑ ์žฌ์ •์˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ $APIGEE_HELM_CHARTS_HOME ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ €์žฅ๋˜๋Š” overrides.yaml์ด๋ผ๋Š” ํŒŒ์ผ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.

  1. $APIGEE_HELM_CHARTS_HOME ๋””๋ ‰ํ„ฐ๋ฆฌ์— overrides.yaml์ด๋ผ๋Š” ์ƒˆ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    overrides.yaml์€ ๊ณ ์œ  Apigee Hybrid ์„ค์น˜์— ๋Œ€ํ•œ ๊ตฌ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์˜ ์žฌ์ •์˜ ํŒŒ์ผ์€ ์ฒซ ๋ฒˆ์งธ ์„ค์น˜์— ์ ํ•ฉํ•œ ์†Œ๊ทœ๋ชจ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋Ÿฐํƒ€์ž„ ์„ค์น˜๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  2. overrides.yaml์—์„œ ์•„๋ž˜ ํ‘œ์‹œ๋œ ํ•„์š”ํ•œ ์†์„ฑ ๊ฐ’์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์†์„ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    4๋‹จ๊ณ„: ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์—์„œ ์„ ํƒํ•œ ํ•ญ๋ชฉ์— ๋”ฐ๋ผ ์„ค์น˜์˜ ํƒญ์„ ํ”„๋กœ๋•์…˜์€ ํ”„๋กœ๋•์…˜์œผ๋กœ, ๋น„ํ”„๋กœ๋•์…˜(๋ฐ๋ชจ, ํ‰๊ฐ€, ๊ฐœ๋… ์ฆ๋ช… ์„ค์น˜)์€ ๋น„ํ”„๋กœ๋•์…˜์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ์„ค์น˜์— ๋Œ€ํ•ด ํ”„๋กœ๋•์…˜์šฉ Cassandra ๊ตฌ์„ฑ์—์„œ Cassandra ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์Šคํ† ๋ฆฌ์ง€ ์š”๊ตฌ์‚ฌํ•ญ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    GKE์— Apigee Hybrid๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ธ์ฆํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ํ”„๋กœ๋•์…˜: ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ๋˜๋Š” ๋น„ํ”„๋กœ๋•์…˜: ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํƒญ์„ ์„ ํƒํ•ด overrides.yaml ํŒŒ์ผ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    ํ”„๋กœ๋•์…˜

    overrides.yaml ํŒŒ์ผ์— ๋‹ค์Œ ๊ตฌ์กฐ์™€ ๋ฌธ๋ฒ•์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. red, bold italics์˜ ๊ฐ’์€ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ์†์„ฑ ๊ฐ’์ด๋ฉฐ, ์ด ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    Google Cloud ํ”„๋กœ์ ํŠธ ๋ฆฌ์ „๊ณผ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌ์ „์— ๋Œ€ํ•œ ํ”Œ๋žซํผ์€ ์„œ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Apigee Hybrid๋ฅผ ์„ค์น˜ํ•  ํ”Œ๋žซํผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    instanceID: "UNIQUE_INSTANCE_IDENTIFIER"
    namespace: APIGEE_NAMESPACE # Usually "apigee"
    
    gcp:
      projectID: PROJECT_ID
      region: ANALYTICS_REGION
    
    k8sCluster:
      name: CLUSTER_NAME
      region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster.
    org: ORG_NAME
      
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.3" # Required for Apigee hybrid v1.11.2
    
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.3" # Required for Apigee hybrid v1.11.2 
    
    envs:
    - name: ENVIRONMENT_NAME
      serviceAccountPaths:
        # Provide the path relative to the apigee-env chart directory.
        synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH
          # For example: "PROJECT_ID-apigee-synchronizer.json"
        runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH
          # For example: "PROJECT_ID-apigee-runtime.json"
        udca: UDCA_SERVICE_ACCOUNT_FILEPATH
          # For example: "PROJECT_ID-apigee-udca.json"
    
    cassandra:
      hostNetwork: false
        # Set to false for single region installations and multi-region installations
        # with connectivity between pods in different clusters, for example GKE installations.
        # Set to true  for multi-region installations with no communication between
        # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal,
        # AKS, EKS, and OpenShift installations.
        # See Multi-region deployment: Prerequisites
      replicaCount: 3
        # Use multiples of 3 for production.
        # See Configure Cassandra for production for guidelines.
      storage:
        capacity: 500Gi
      resources:
        requests:
          cpu: 7
          memory: 15Gi
      maxHeapSize: 8192M
      heapNewSize: 1200M
        # Minimum storage requirements for a production environment.
        # See Configure Cassandra for production.
    
    ingressGateways:
    - name: INGRESS_NAME # maximum 17 characters.
      replicaCountMin: 2
      replicaCountMax: 10
      svcAnnotations:  # optional. If you are on AKS, see Known issue #260772383
        SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
    
    virtualhosts:
    - name: ENVIRONMENT_GROUP_NAME
      selector:
        app: apigee-ingressgateway
        ingress_name: INGRESS_NAME
      sslCertPath: PATH_TO_CERT_FILE
      sslKeyPath: PATH_TO_KEY_FILE
    
    mart:
      serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-org chart directory.
        # For example: "PROJECT_ID-apigee-mart.json"
    
    connectAgent:
      serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH
        # Use the same service account for mart and connectAgent
        # Provide the path relative to the apigee-org chart directory.
        # For example: "PROJECT_ID-apigee-mart.json"
    
    logger:
      enabled: true
        # enabled by default
        # See apigee-logger in Service accounts and roles used by hybrid components.
      serviceAccountPath: LOGGER_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-telemetry chart directory.
        # For example: "PROJECT_ID-apigee-logger.json"
    
    metrics:
      serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-telemetry chart directory.
        # For example: "PROJECT_ID-apigee-metrics.json"
    
    udca:
      serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-org chart directory.
        # For example: "PROJECT_ID-apigee-udca.json"
    
    watcher:
      serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-org chart directory.
        # For example: "PROJECT_ID-apigee-watcher.json"
    

    ๋น„ํ”„๋กœ๋•์…˜

    overrides.yaml ํŒŒ์ผ์— ๋‹ค์Œ ๊ตฌ์กฐ์™€ ๋ฌธ๋ฒ•์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. red, bold italics์˜ ๊ฐ’์€ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ์†์„ฑ ๊ฐ’์ด๋ฉฐ, ์ด ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    Google Cloud ํ”„๋กœ์ ํŠธ ๋ฆฌ์ „๊ณผ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌ์ „์— ๋Œ€ํ•œ ํ”Œ๋žซํผ์€ ์„œ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Apigee Hybrid๋ฅผ ์„ค์น˜ํ•  ํ”Œ๋žซํผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    instanceID: "UNIQUE_INSTANCE_IDENTIFIER"
    namespace: APIGEE_NAMESPACE # Usually "apigee"
    
    gcp:
      projectID: PROJECT_ID
      region: ANALYTICS_REGION
    
    k8sCluster:
      name: CLUSTER_NAME
      region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster.
    org: ORG_NAME
      
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.3" # Required for Apigee hybrid v1.11.2
    
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.3" # Required for Apigee hybrid v1.11.2 
    
    envs:
    - name: ENVIRONMENT_NAME
      serviceAccountPaths:
        # Provide the path relative to the apigee-env chart directory.
        synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # For example: "PROJECT_ID-apigee-non-prod.json"
        runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # For example: "PROJECT_ID-apigee-non-prod.json"
        udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # For example: "PROJECT_ID-apigee-non-prod.json"
    
    cassandra:
      hostNetwork: false
        # Set to false for single region installations and multi-region installations
        # with connectivity between pods in different clusters, for example GKE installations.
        # Set to true  for multi-region installations with no communication between
        # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal,
        # AKS, EKS, and OpenShift installations.
        # See Multi-region deployment: Prerequisites
      replicaCount: 1
        # Use 1 for non-prod or "demo" installations and multiples of 3 for production.
        # See Configure Cassandra for production for guidelines.
    
    ingressGateways:
    - name: INGRESS_NAME # maximum 17 characters.
      replicaCountMin: 2
      replicaCountMax: 10
      svcAnnotations:  # optional. If you are on AKS, see Known issue #260772383
        SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
    
    virtualhosts:
    - name: ENVIRONMENT_GROUP_NAME
      selector:
        app: apigee-ingressgateway
        ingress_name: INGRESS_NAME
      sslCertPath: PATH_TO_CERT_FILE
      sslKeyPath: PATH_TO_KEY_FILE
    
    mart:
      serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-org chart directory.
        # For example: "PROJECT_ID-apigee-non-prod.json"
    
    connectAgent:
      serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-org chart directory.
        # Use the same service account for mart and connectAgent
        # For example: "PROJECT_ID-apigee-non-prod.json"
    
    logger:
      enabled: true
        # enabled by default
        # See apigee-logger in Service accounts and roles used by hybrid components.
      serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-telemetry chart directory.
        # For example: "PROJECT_ID-apigee-non-prod.json"
    
    metrics:
      serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-telemetry chart directory.
        # For example: "PROJECT_ID-apigee-non-prod.json"
    
    udca:
      serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-org chart directory.
        # For example: "PROJECT_ID-apigee-non-prod.json"
    
    watcher:
      serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH
        # Provide the path relative to the apigee-org chart directory.
        # For example: "PROJECT_ID-apigee-non-prod.json"
    

    ํ”„๋กœ๋•์…˜: ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ

    ์ด ํ…œํ”Œ๋ฆฟ์€ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE์— ํ”„๋กœ๋•์…˜์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. overrides.yaml ํŒŒ์ผ์— ๋‹ค์Œ ๊ตฌ์กฐ์™€ ๋ฌธ๋ฒ•์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. red, bold italics์˜ ๊ฐ’์€ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ์†์„ฑ ๊ฐ’์ด๋ฉฐ, ์ด ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    GKE์— Apigee Hybrid๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ Google API, ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์ธ์ฆํ•˜๊ณ  ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์•ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ์˜ ๊ฐœ์š”๋Š” ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    GKE์—์„œ Apigee Hybrid์™€ ํ•จ๊ป˜ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๊ณ  11๋‹จ๊ณ„: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•ด Apigee Hybrid ์„ค์น˜์˜ ๋‹จ๊ณ„์— ๋”ฐ๋ผ Kubernetes ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ 4๋‹จ๊ณ„: ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์—์„œ ๋งŒ๋“  Google ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

    instanceID: "UNIQUE_INSTANCE_IDENTIFIER"
    namespace: APIGEE_NAMESPACE # Usually "apigee"
    
    gcp:
      projectID: PROJECT_ID
      region: ANALYTICS_REGION
      workloadIdentity:
        enabled: true
    
    k8sCluster:
      name: CLUSTER_NAME
      region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster.
    org: ORG_NAME
      
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.3" # Required for Apigee hybrid v1.11.2
    
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.3" # Required for Apigee hybrid v1.11.2 
    
    envs:
    - name: ENVIRONMENT_NAME
      gsa:
        synchronizer: "SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL"
          # For example: "apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com"
        runtime: "RUNTIME_SERVICE_ACCOUNT_EMAIL"
          # For example: "apigee-runtime@PROJECT_ID.iam.gserviceaccount.com"
        udca: "UDCA_SERVICE_ACCOUNT_EMAIL"
          # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com"
    
    cassandra:
      hostNetwork: false
        # Set to false for single region installations and multi-region installations
        # with connectivity between pods in different clusters, for example GKE installations.
        # Set to true  for multi-region installations with no communication between
        # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal,
        # AKS, EKS, and OpenShift installations.
        # See Multi-region deployment: Prerequisites
      replicaCount: 3
        # Use multiples of 3 for production.
        # See Configure Cassandra for production for guidelines.
      storage:
        capacity: 500Gi
      resources:
        requests:
          cpu: 7
          memory: 15Gi
      maxHeapSize: 8192M
      heapNewSize: 1200M
        # Minimum storage requirements for a production environment.
        # See Configure Cassandra for production.
      backup:
        enabled: true
        # Set to true for initial installation.
        # This triggers the chart to create the apigee-cassandra-backup Kubernetes service account when you install it.
        # See Cassandra backup overview for instructions on using cassandra.backup.
    
    ingressGateways:
    - name: INGRESS_NAME # maximum 17 characters.
      replicaCountMin: 2
      replicaCountMax: 10
      svcAnnotations:  # optional. If you are on AKS, see Known issue #260772383
        SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
    
    virtualhosts:
    - name: ENVIRONMENT_GROUP_NAME
      selector:
        app: apigee-ingressgateway
        ingress_name: INGRESS_NAME
      sslCertPath: PATH_TO_CERT_FILE
      sslKeyPath: PATH_TO_KEY_FILE
    
    mart:
      gsa: "MART_SERVICE_ACCOUNT_EMAIL"
        # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com"
    
    connectAgent:
      gsa: "MART_SERVICE_ACCOUNT_EMAIL"
        # Use the same service account for mart and connectAgent
        # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com"
    
    logger:
      enabled: true
        # enabled by default
        # See apigee-logger in Service accounts and roles used by hybrid components.
      gsa: "LOGGER_SERVICE_ACCOUNT_EMAIL"
        # For example: "apigee-logger@PROJECT_ID.iam.gserviceaccount.com"
    metrics:
      gsa: "METRICS_SERVICE_ACCOUNT_EMAIL"
        # For example: "apigee-metrics@PROJECT_ID.iam.gserviceaccount.com"
    
    udca:
      gsa: "UDCA_SERVICE_ACCOUNT_EMAIL"
        # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com"
    
    watcher:
      gsa: "WATCHER_SERVICE_ACCOUNT_EMAIL"
        # For example: "apigee-watcher@PROJECT_ID.iam.gserviceaccount.com"
    

    ๋น„ํ”„๋กœ๋•์…˜: ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ

    ์ด ํ…œํ”Œ๋ฆฟ์€ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE์— ๋น„ํ”„๋กœ๋•์…˜์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. overrides.yaml ํŒŒ์ผ์— ๋‹ค์Œ ๊ตฌ์กฐ์™€ ๋ฌธ๋ฒ•์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. red, bold italics์˜ ๊ฐ’์€ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ์†์„ฑ ๊ฐ’์ด๋ฉฐ, ์ด ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    GKE์— Apigee Hybrid๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ Google API, ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์ธ์ฆํ•˜๊ณ  ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์•ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ์˜ ๊ฐœ์š”๋Š” ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    GKE์—์„œ Apigee Hybrid์™€ ํ•จ๊ป˜ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๊ณ  11๋‹จ๊ณ„: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•ด Apigee Hybrid ์„ค์น˜์˜ ๋‹จ๊ณ„์— ๋”ฐ๋ผ Kubernetes ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ 4๋‹จ๊ณ„: ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์—์„œ ๋งŒ๋“  Google ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

    instanceID: "UNIQUE_INSTANCE_IDENTIFIER"
    namespace: APIGEE_NAMESPACE # Usually "apigee"
    
    gcp:
      projectID: PROJECT_ID
      region: ANALYTICS_REGION
      workloadIdentity:
        enabled: true
        gsa: "NON_PROD_SERVICE_ACCOUNT_EMAIL"
        # For example: "apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com"
    
    k8sCluster:
      name: CLUSTER_NAME
      region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster.
    org: ORG_NAME
    
    instanceID: "UNIQUE_INSTANCE_IDENTIFIER"
    
    cassandra:
      hostNetwork: false
        # false for all GKE installations.
        # See Multi-region deployment: Prerequisites
      replicaCount: 1
        # Use 1 for non-prod or "demo" installations and multiples of 3 for production.
        # See Configure Cassandra for production for guidelines.
      backup:
        enabled: true
        # Set to true for initial installation.
        # This triggers the chart to create the apigee-cassandra-backup Kubernetes service account when you install it.
        # See Cassandra backup overview for instructions on using cassandra.backup.
    
    virtualhosts:
    - name: ENVIRONMENT_GROUP_NAME
      selector:
        app: apigee-ingressgateway
        ingress_name: INGRESS_NAME
      sslCertPath: PATH_TO_CERT_FILE
      sslKeyPath: PATH_TO_KEY_FILE
    
    ingressGateways:
    - name: INGRESS_NAME # maximum 17 characters.
      replicaCountMin: 2
      replicaCountMax: 10
      svcAnnotations:  # optional. If you are on AKS, see Known issue #260772383
        SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
      svcLoadBalancerIP: SVC_LOAD_BALANCER_IP  # optional
      
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.3" # Required for Apigee hybrid v1.11.2
    
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.3" # Required for Apigee hybrid v1.11.2 
    
    envs:
    - name: ENVIRONMENT_NAME
    
    logger:
      enabled: false # Set to false for all GKE installations.
    

    ์˜ˆ

    ๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” ์˜ˆ์‹œ ์†์„ฑ ๊ฐ’์ด ์ถ”๊ฐ€๋œ, ์™„๋ฃŒ๋œ ์žฌ์ •์˜ ํŒŒ์ผ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

    instanceID: "my_hybrid_example"
    namespace: apigee
    
    gcp:
      projectID: hybrid-example
      region: us-central1
    
    k8sCluster:
      name: apigee-hybrid
      region: us-central1
    
    org: hybrid-example
      
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.3"
    
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.3"
    
    envs:
    - name: test
      serviceAccountPaths:
        synchronizer:my-hybrid-project-apigee-synchronizer.json
        runtime: my-hybrid-project-apigee-runtime.json
        udca: my-hybrid-project-apigee-udca.json
    
    cassandra:
      hostNetwork: false
      replicaCount: 3
    
    ingressGateways:
    - name: my-ingress-1
      replicaCountMin: 2
      replicaCountMax: 10
    
    virtualhosts:
    - name: example-env-group
      selector:
        app: apigee-ingressgateway
        ingress_name: my-ingress-1
      sslCertPath: certs/keystore.pem
      sslKeyPath: certs/keystore.key
    
    logger:
      enabled: true # Set to "false" for GKE. Set to "true" for all other Kubernetes platforms.
      serviceAccountPath: my-hybrid-project-apigee-logger.json
    
    mart:
      serviceAccountPath: my-hybrid-project-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: my-hybrid-project-apigee-mart.json
    
    metrics:
      serviceAccountPath: my-hybrid-project-apigee-metrics.json
    
    udca:
      serviceAccountPath: my-hybrid-project-apigee-udca.json
    
    watcher:
      serviceAccountPath: my-hybrid-project-apigee-watcher.json
    
  3. ์™„๋ฃŒ๋˜๋ฉด ํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ์žฌ์ •์˜ ํŒŒ์ผ์— ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ๊ฐ ์†์„ฑ ๊ฐ’์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ณ€์ˆ˜ ์„ค๋ช…
UNIQUE_INSTANCE_IDENTIFIER

์ด ์ธ์Šคํ„ด์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ณ ์œ ํ•œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ์ตœ๋Œ€ 63์ž๊นŒ์ง€ ๋ฌธ์ž์™€ ์ˆซ์ž์˜ ์ž„์˜ ์กฐํ•ฉ์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฌ๋Ÿฌ ์กฐ์ง์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ instanceID๋Š” ๋™์ผํ•œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ์กฐ์ง์— ๋Œ€ํ•ด ๋™์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

APIGEE_NAMESPACE

Apigee Hybrid ๊ตฌ์„ฑ์š”์†Œ์˜ Kubernetes ๋„ค์ž„์ŠคํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ๊ฐ’์€ apigee์ž…๋‹ˆ๋‹ค.

ANALYTICS_REGION GKE์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์ผํ•œ ๋ฆฌ์ „์œผ๋กœ ์ด ๊ฐ’์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ์• ๋„๋ฆฌํ‹ฑ์Šค ์ง€์›์„ ๊ฐ€์ง„ ํด๋Ÿฌ์Šคํ„ฐ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์• ๋„๋ฆฌํ‹ฑ์Šค ๋ฆฌ์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(ํŒŒํŠธ 1, 2๋‹จ๊ณ„: ์กฐ์ง ๋งŒ๋“ค๊ธฐ์˜ ํ…Œ์ด๋ธ” ์ฐธ์กฐ).

์ด์ „์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ANALYTICS_REGION์— ํ• ๋‹นํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค.

PROJECT_ID apigee-logger ๋ฐ apigee-metrics๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” Google Cloud ํ”„๋กœ์ ํŠธ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ PROJECT_ID์— ํ• ๋‹น๋œ ๊ฐ’์ž…๋‹ˆ๋‹ค.
CLUSTER_NAME Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ CLUSTER_NAME์— ํ• ๋‹น๋œ ๊ฐ’์ž…๋‹ˆ๋‹ค.
CLUSTER_LOCATION ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ๋ฆฌ์ „์ž…๋‹ˆ๋‹ค. 1๋‹จ๊ณ„: ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“  ๋ฆฌ์ „์ž…๋‹ˆ๋‹ค.

์ด์ „์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ CLUSTER_LOCATION์— ํ• ๋‹นํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค.

ORG_NAME Apigee ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์กฐ์ง์˜ ID์ž…๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ORG_NAME์— ํ• ๋‹น๋œ ๊ฐ’์ž…๋‹ˆ๋‹ค.
ENVIRONMENT_GROUP_NAME ํ™˜๊ฒฝ์ด ํ• ๋‹น๋œ ํ™˜๊ฒฝ ๊ทธ๋ฃน์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๋ฐ ์กฐ์ง ์„ค์ • - 3๋‹จ๊ณ„: ํ™˜๊ฒฝ ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ์—์„œ ๋งŒ๋“  ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ENV_GROUP์— ํ• ๋‹น๋œ ๊ฐ’์ž…๋‹ˆ๋‹ค.
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE
5๋‹จ๊ณ„: TLS ์ธ์ฆ์„œ ๋งŒ๋“ค๊ธฐ์—์„œ ์ด์ „์— ์ƒ์„ฑํ•œ ์ž์ฒด ์„œ๋ช… TLS ํ‚ค์™€ ์ธ์ฆ์„œ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ ๋ฐ ํŒŒ์ผ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒŒ์ผ์€ APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
sslCertPath: certs/keystore.crt
sslKeyPath: certs/keystore.key
INGRESS_NAME ๋ฐฐํฌ์˜ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ์ด๋ฆ„์ด๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ์ตœ๋Œ€ ๊ธธ์ด๋Š” 17์ž(์˜๋ฌธ ๊ธฐ์ค€)์ž…๋‹ˆ๋‹ค.
  • ์†Œ๋ฌธ์ž ์˜์ˆซ์ž ๋ฌธ์ž, '-' ๋˜๋Š” '.'๋งŒ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜์ˆซ์ž ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜์ˆซ์ž ๋ฌธ์ž๋กœ ๋๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways[].name์„ ์ฐธ์กฐํ•˜์„ธ์š”.

SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE (์„ ํƒ์‚ฌํ•ญ) ๊ธฐ๋ณธ ์ธ๊ทธ๋ ˆ์Šค ์„œ๋น„์Šค์˜ ์ฃผ์„์„ ์ œ๊ณตํ•˜๋Š” ํ‚ค-๊ฐ’ ์Œ์ž…๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์—์„œ ์ฃผ์„์„ ์‚ฌ์šฉํ•ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์œ ํ˜•์„ ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€๋กœ ์„ค์ •ํ•˜๋Š” ๋“ฑ์˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ค์น˜๋ฅผ ๊ตฌ์„ฑํ•˜๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

์ฃผ์„์€ ํ”Œ๋žซํผ๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํ•„์ˆ˜ ๋ฐ ์ถ”์ฒœ ์ฃผ์„์€ ํ”Œ๋žซํผ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด ์„น์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

SVC_LOAD_BALANCER_IP (์„ ํƒ์‚ฌํ•ญ) ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋Œ€ํ•ด ์˜ˆ์•ฝํ•œ IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ IP ์ฃผ์†Œ ์ง€์ •์„ ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ์—์„œ ์ด IP ์ฃผ์†Œ๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ IP๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์—†๋Š” ํ”Œ๋žซํผ์—์„œ ์ด ์†์„ฑ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด ์„น์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

ENVIRONMENT_NAME ํ”„๋กœ์ ํŠธ ๋ฐ ์กฐ์ง ์„ค์ • - 3๋‹จ๊ณ„: ํ™˜๊ฒฝ ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ์— ์„ค๋ช…๋œ ๋Œ€๋กœ UI์—์„œ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
*_SERVICE_ACCOUNT_FILEPATH ํ•ด๋‹น ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์„œ๋น„์Šค ๊ณ„์ • JSON ํŒŒ์ผ์˜ ๊ฒฝ๋กœ ๋ฐ ํŒŒ์ผ ์ด๋ฆ„ ๊ณ„์ •์ž…๋‹ˆ๋‹ค. ์ด๋ฆ„๊ณผ ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ•จ๊ป˜ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • my-hybrid-project-apigee-synchronizer.json ํŒŒ์ผ์ด apigee-env/ ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒŒ์ผ ์ด๋ฆ„๋งŒ ์ œ๊ณตํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
    synchronizer:  "my-hybrid-project-apigee-synchronizer.json"
  • ํŒŒ์ผ์ด apigee-env/service-accounts/ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ์œผ๋ฉด ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    synchronizer:  "service-accounts/my-hybrid-project-apigee-synchronizer.json"

๋น„ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ ๋‹จ์ผ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฆ„์€ PROJECT_ID-non-prod.json(๊ธฐ๋ณธ๊ฐ’)์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ 4๋‹จ๊ณ„: ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์—์„œ create-service-account ๋„๊ตฌ๋กœ ์ƒ์„ฑํ•œ ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

๊ฐ ํ•ด๋‹น ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์„œ๋น„์Šค ๊ณ„์ • ํŒŒ์ผ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ณ„์ •์˜ ํ•ด๋‹นํ•˜๋Š” ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๊ธฐ๋ณธ ์ด๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ณ„์ • ํŒŒ์ผ ์ด๋ฆ„ ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ
์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž PROJECT_ID-apigee-cassandra.json apigee-datastore/
๋กœ๊ทธ ์ž‘์„ฑ์ž PROJECT_ID-apigee-logger.json apigee-telemetry/
Apigee Connect ์—์ด์ „ํŠธ PROJECT_ID-apigee-mart.json apigee-org/
๋ชจ๋‹ˆํ„ฐ๋ง ์ธก์ •ํ•ญ๋ชฉ ์ž‘์„ฑ์ž PROJECT_ID-apigee-metrics.json apigee-telemetry/
์—ญํ•  ํ•„์š” ์—†์Œ PROJECT_ID-apigee-runtime.json apigee-env/
Apigee ๋™๊ธฐํ™” ๊ด€๋ฆฌ์ž PROJECT_ID-apigee-synchronizer.json apigee-env/
Apigee ์• ๋„๋ฆฌํ‹ฑ์Šค ์—์ด์ „ํŠธ PROJECT_ID-apigee-udca.json apigee-org/
Apigee ๋Ÿฐํƒ€์ž„ ์—์ด์ „ํŠธ PROJECT_ID-apigee-watcher.json apigee-org/
*_SERVICE_ACCOUNT_EMAIL GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” Google ์„œ๋น„์Šค ๊ณ„์ •(GSA)์˜ ์„œ๋น„์Šค ๊ณ„์ • ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. 4๋‹จ๊ณ„: ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์—์„œ ๋งŒ๋“  ์„œ๋น„์Šค ๊ณ„์ •์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee"

์š”์•ฝ

๊ตฌ์„ฑ ํŒŒ์ผ์€ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ Kubernetes์— ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ํ›„ Apigee ๋Ÿฐํƒ€์ž„ ๋ฐ ๊ด€๋ฆฌ ์˜์—ญ์ด ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ์•ก์„ธ์Šค๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

1 2 3 4 5 6 (๋‹ค์Œ) 7๋‹จ๊ณ„: ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ์•ก์„ธ์Šค ์‚ฌ์šฉ ์„ค์ • 8 9 10 11 12