2단계: Helm 차트 다운로드

이 단계에서는 Apigee Hybrid 설치 및 관리에 사용되는 Helm 차트를 다운로드하는 방법을 설명합니다. Apigee Hybrid 차트는 Google Artifact Registry에서 호스팅됩니다.

oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts

디렉터리 구조 준비

이 단계는 선택사항이지만 권장됩니다. 이 절차에서는 Apigee Helm 차트를 다운로드하는 디렉터리의 $APIGEE_HELM_CHARTS_HOME 환경 변수를 참조합니다.

  1. 하이브리드 설치에 대한 기본 디렉터리를 만들고 이 디렉터리 내에 차트의 디렉터리를 만듭니다.
    mkdir APIGEE_HYBRID_BASE
    mkdir APIGEE_HYBRID_BASE/APIGEE_HELM_CHARTS_HOME

    예를 들면 다음과 같습니다.

    mkdir apigee-hybrid/helm-charts
  2. 편의를 위해 Helm 차트 디렉터리의 위치를 환경 변수에 저장합니다.
    cd APIGEE_HYBRID_BASE/APIGEE_HELM_CHARTS_HOME
    export APIGEE_HELM_CHARTS_HOME=$PWD

Apigee Helm 차트 가져오기

  1. $APIGEE_HELM_CHARTS_HOME 디렉터리에서 pull 명령어를 사용하여 모든 Apigee Hybrid Helm 차트를 로컬 스토리지에 복사합니다.
    export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
    export CHART_VERSION=1.13.1
    helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
    
  2. 선택사항: tree 명령어를 사용하여 차트가 의도한 디렉터리 구조로 확장되었는지 확인합니다. 다음과 유사한 결과가 출력됩니다.
    tree
    .
    ├── apigee-datastore
    │   ├── Chart.yaml
    │   ├── templates
    │   │   ├── apigee-datastore-guardrails.yaml
    │   │   ├── backup-cert.yaml
    │   │   ├── backup-cronjob.yaml
    │   │   ├── backup-gsa-secret.yaml
    │   │   ├── backup-key.yaml
    │   │   ├── backup-sa.yaml
    │   │   ├── datastore-secret.yaml
    │   │   ├── datastore.yaml
    │   │   ├── _helpers.tpl
    │   │   ├── NOTES.txt
    │   │   ├── restore-cert.yaml
    │   │   ├── restore-gsa-secret.yaml
    │   │   ├── restore-job.yaml
    │   │   ├── restore-key.yaml
    │   │   └── restore-sa.yaml
    │   └── values.yaml
    ├── apigee-env
    │   ├── Chart.yaml
    │   ├── templates
    │   │   ├── apigee-env-guardrails.yaml
    │   │   ├── encryption-keys-secret.yaml
    │   │   ├── environment.yaml
    │   │   ├── _helpers.tpl
    │   │   ├── NOTES.txt
    │   │   ├── runtime-gsa-secret.yaml
    │   │   ├── runtime-sa.yaml
    │   │   ├── synchronizer-gsa-secret.yaml
    │   │   ├── synchronizer-sa.yaml
    │   │   ├── udca-gsa-secret.yaml
    │   │   └── udca-sa.yaml
    │   ├── test-file.txt
    │   ├── tests
    │   │   ├── apigee-env-guardrails_test.yaml
    │   │   ├── encryption-keys_test.yaml
    │   │   ├── environment_test.yaml
    │   │   ├── runtime-gsa-secret_test.yaml
    │   │   ├── runtime-sa_test.yaml
    │   │   ├── synchronizer-gsa-secret_test.yaml
    │   │   ├── synchronizer-sa_test.yaml
    │   │   ├── test-fwi-values.yaml
    │   │   ├── test-values.yaml
    │   │   ├── udca-gsa-secret_test.yaml
    │   │   └── udca-sa_test.yaml
    │   └── values.yaml
    ├── apigee-ingress-manager
    │   ├── Chart.yaml
    │   ├── templates
    │   │   ├── apigee-ca-issuer.yaml
    │   │   ├── apigee-ingress-manager-guardrails.yaml
    │   │   ├── apigee-istiod-certificate.yaml
    │   │   ├── _helpers.tpl
    │   │   ├── ingress-service-account.yaml
    │   │   ├── istio-config.yaml
    │   │   ├── istiod-deployment-with-apigee-controller.yaml
    │   │   ├── istiod-envoyfilters.yaml
    │   │   ├── istiod-hpa.yaml
    │   │   ├── istiod-service-account.yaml
    │   │   └── istiod-svc.yaml
    │   ├── tests
    │   │   ├── apigee-ca-issuer_test.yaml
    │   │   ├── apigee-ingress-manager-guardrails_test.yaml
    │   │   ├── apigee-istiod-certificate_test.yaml
    │   │   ├── istio-config_test.yaml
    │   │   ├── istiod-deployment-with-apigee-controller_test.yaml
    │   │   ├── istiod-envoyfilters_test.yaml
    │   │   └── istiod_hpa_test.yaml
    │   └── values.yaml
    ├── apigee-operator
    │   ├── Chart.yaml
    │   ├── etc
    │   │   ├── crds
    │   │   │   ├── crd
    │   │   │   │   ├── bases
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeedatastores.yaml
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeedeployments.yaml
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeeenvironments.yaml
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeeissues.yaml
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeeorganizations.yaml
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeeredis.yaml
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeerouteconfigs.yaml
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeeroutes.yaml
    │   │   │   │   │   ├── apigee.cloud.google.com_apigeetelemetries.yaml
    │   │   │   │   │   └── apigee.cloud.google.com_cassandradatareplications.yaml
    │   │   │   │   ├── kustomization.yaml
    │   │   │   │   ├── kustomizeconfig.yaml
    │   │   │   │   └── patches
    │   │   │   │       ├── cainjection_in_apigeedatastores.yaml
    │   │   │   │       ├── cainjection_in_apigeedeployments.yaml
    │   │   │   │       ├── cainjection_in_apigeeenvironments.yaml
    │   │   │   │       ├── cainjection_in_apigeeissues.yaml
    │   │   │   │       ├── cainjection_in_apigeeorganizations.yaml
    │   │   │   │       ├── cainjection_in_apigeeroutes.yaml
    │   │   │   │       ├── cainjection_in_apigeetelemetries.yaml
    │   │   │   │       ├── k8s_list_map_keys.yaml
    │   │   │   │       ├── nested_metadata_validation_properties.yaml
    │   │   │   │       ├── webhook_in_apigeedatastores.yaml
    │   │   │   │       ├── webhook_in_apigeedeployments.yaml
    │   │   │   │       ├── webhook_in_apigeeenvironments.yaml
    │   │   │   │       ├── webhook_in_apigeeissues.yaml
    │   │   │   │       ├── webhook_in_apigeeorganizations.yaml
    │   │   │   │       ├── webhook_in_apigeeroutes.yaml
    │   │   │   │       └── webhook_in_apigeetelemetries.yaml
    │   │   │   └── default
    │   │   │       └── kustomization.yaml
    │   │   ├── examples
    │   │   │   └── helmfiles
    │   │   │       ├── helmfile.yaml
    │   │   │       └── README.md
    │   │   └── tools
    │   │       ├── apigee-pull-push.sh
    │   │       ├── common.sh
    │   │       ├── create-service-account
    │   │       └── dump_kubernetes.sh
    │   ├── templates
    │   │   ├── apigee-operators-guardrails.yaml
    │   │   ├── apigee-operators-roles.yaml
    │   │   ├── apigee-operators.yaml
    │   │   ├── apigee-resources.yaml
    │   │   ├── cassandra-backup-clusterrolebinding.yaml
    │   │   ├── cassandra-backup-clusterrole.yaml
    │   │   ├── cassandra-restore-clusterrolebinding.yaml
    │   │   ├── cassandra-restore-clusterrole.yaml
    │   │   ├── _helpers.tpl
    │   │   ├── ingress-role-binding.yaml
    │   │   ├── ingress-role.yaml
    │   │   ├── istiod-cluster-role-binding.yaml
    │   │   ├── istiod-cluster-role.yaml
    │   │   ├── istiod-role-binding.yaml
    │   │   └── istiod-role.yaml
    │   ├── tests
    │   │   └── apigee-operators-guardrails_test.yaml
    │   └── values.yaml
    ├── apigee-org
    │   ├── Chart.yaml
    │   ├── templates
    │   │   ├── apigee-org-guardrails.yaml
    │   │   ├── ax-hash-salt-secret.yaml
    │   │   ├── connect-agent-gsa-secret.yaml
    │   │   ├── connect-agent-sa.yaml
    │   │   ├── data-encryption-secret.yaml
    │   │   ├── encryption-keys-secret.yaml
    │   │   ├── _helpers.tpl
    │   │   ├── mart-gsa-secret.yaml
    │   │   ├── mart-sa.yaml
    │   │   ├── NOTES.txt
    │   │   ├── organization.yaml
    │   │   ├── udca-gsa-secret.yaml
    │   │   ├── udca-sa.yaml
    │   │   ├── watcher-gsa-secret.yaml
    │   │   └── watcher-sa.yaml
    │   ├── test-file.txt
    │   ├── tests
    │   │   ├── apigee-org-guardrails_test.yaml
    │   │   ├── ax-hash-salt-secret_test.yaml
    │   │   ├── connect-agent-gsa-secret_test.yaml
    │   │   ├── connect-agent-sa_test.yaml
    │   │   ├── data-encryption-secret_test.yaml
    │   │   ├── encryption-keys-secret_test.yaml
    │   │   ├── mart-gsa-secret_test.yaml
    │   │   ├── mart-sa_test.yaml
    │   │   ├── organization_test.yaml
    │   │   ├── test-fwi-values.yaml
    │   │   ├── test-values.yaml
    │   │   ├── udca-gsa-secret_test.yaml
    │   │   ├── udca-sa_test.yaml
    │   │   ├── watcher-gsa-secret_test.yaml
    │   │   └── watcher-sa_test.yaml
    │   └── values.yaml
    ├── apigee-redis
    │   ├── Chart.yaml
    │   ├── templates
    │   │   ├── apigee-redis-guardrails.yaml
    │   │   ├── _helpers.tpl
    │   │   ├── redis-creds-secret.yaml
    │   │   └── redis.yaml
    │   ├── tests
    │   │   ├── apigee-redis-guardrails_test.yaml
    │   │   ├── redis-creds-secret_test.yaml
    │   │   └── redis_test.yaml
    │   └── values.yaml
    ├── apigee-telemetry
    │   ├── Chart.yaml
    │   ├── templates
    │   │   ├── apigee-logger-gsa-secret.yaml
    │   │   ├── apigee-logger-sa.yaml
    │   │   ├── apigee-metrics-gsa-secret.yaml
    │   │   ├── apigee-metrics-sa.yaml
    │   │   ├── apigee-telemetry-guardrails.yaml
    │   │   ├── apigee-telemetry.yaml
    │   │   ├── _helpers.tpl
    │   │   └── NOTES.txt
    │   ├── test-file.txt
    │   ├── tests
    │   │   ├── apigee-logger-gsa-secret_test.yaml
    │   │   ├── apigee-logger-sa_test.yaml
    │   │   ├── apigee-metrics-gsa-secret_test.yaml
    │   │   ├── apigee-metrics-sa_test.yaml
    │   │   ├── apigee-telemetry-guardrails_test.yaml
    │   │   ├── apigee-telemetry_test.yaml
    │   │   ├── notes_test.yaml
    │   │   ├── test-fwi-values.yaml
    │   │   └── test-values.yaml
    │   └── values.yaml
    └── apigee-virtualhost
        ├── Chart.yaml
        ├── templates
        │   ├── apigee-route-config.yaml
        │   ├── apigee-virtualhost-guardrails.yaml
        │   ├── ca-cert.yaml
        │   ├── cert.yaml
        │   └── _helpers.tpl
        ├── test-file.txt
        ├── tests
        │   ├── apigee-route-config_test.yaml
        │   ├── apigee-virtualhost-guardrails_test.yaml
        │   ├── ca-cert_test.yaml
        │   ├── cert_test.yaml
        │   └── test-values.yaml
        └── values.yaml
    

이제 Kubernetes 클러스터에서 Apigee Hybrid를 구성, 배포, 관리할 수 있는 도구를 사용할 수 있습니다. 그런 다음 대부분의 하이브리드 구성요소가 작동하는 Kubernetes 네임스페이스를 만듭니다.

다음 단계

1 2 (다음) 3단계: Apigee 네임스페이스 만들기 4 5 6 7 8 9 10 11