Step 11: Install Apigee hybrid Using Helm charts

Install the Apigee hybrid Helm charts

In this step, you will use Helm to install the following Apigee hybrid components:

  • Apigee operator
  • Apigee datastore
  • Apigee telemetry
  • Apigee Redis
  • Apigee ingress manager
  • Apigee organization
  • Your Apigee environment(s)

You will install the charts for each environment one at a time. The sequence in which you install the components matters.

  1. If you have not, navigate into your APIGEE_HELM_CHARTS_HOME directory. Run the following commands from that directory.
  2. Install Apigee Operator/Controller:

    Dry run:

     helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace apigee-system \ --atomic \ -f overrides.yaml \ --dry-run 

    Install the chart:

     helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace apigee-system \ --atomic \ -f overrides.yaml 

    Verify Apigee Operator installation:

     helm ls -n apigee-system 
    NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee-system 3 2023-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.11.2 1.11.2

    Verify it is up and running by checking its availability:

     kubectl -n apigee-system get deploy apigee-controller-manager 
    NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 7d20h
  3. Install Apigee datastore:

    Dry run:

     helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run 

    Install the chart:

     helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml 

    Verify apigeedatastore is up and running by checking its state before proceding to the next step:

     kubectl -n apigee get apigeedatastore default 
    NAME STATE AGE default running 2d
  4. Install Apigee telemetry:

    Dry run:

     helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run 

    Install the chart:

     helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml 

    Verify it is up and running by checking its state:

     kubectl -n apigee get apigeetelemetry apigee-telemetry 
    NAME STATE AGE apigee-telemetry running 2d
  5. Install Apigee Redis:

    Dry run:

     helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run 

    Install the chart:

     helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml 

    Verify it is up and running by checking its state:

     kubectl -n apigee get apigeeredis default 
    NAME STATE AGE default running 2d
  6. Install Apigee ingress manager:

    Dry run:

     helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run 

    Install the chart:

     helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml 

    Verify it is up and running by checking its availability:

     kubectl -n apigee get deployment apigee-ingressgateway-manager 
    NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 2d
  7. Install Apigee organization:

    Dry run:

     helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml \ --dry-run 

    Install the chart:

     helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f overrides.yaml 

    Verify it is up and running by checking the state of the respective org:

     kubectl -n apigee get apigeeorg 
    NAME STATE AGE apigee-org1-xxxxx running 2d
  8. Install the environment.

    You must install one environment at a time. Specify the environment with --set env=ENV_NAME:

    Dry run:

     helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f overrides.yaml \ --dry-run 

      ENV_RELEASE_NAME is a name used to keep track of installation and upgrades of the apigee-env chart. This name must be unique from the other Helm release names in your installation. Usually this is the same as ENV_NAME. However, if your environment has the same name as your environment group, you must use different release names for the environment and environment group, for example dev-env-release and dev-envgroup-release. For more information on releases in Helm, see Three big concepts in the Helm documentation.

    Install the chart:

     helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f overrides.yaml 

    Verify it is up and running by checking the state of the respective env:

     kubectl -n apigee get apigeeenv 
    NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
  9. Install the environment groups (virtualhosts).
    1. You must install one environment group (virtualhost) at a time. Specify the environment group with --set envgroup=ENV_GROUP_NAME. Repeat the following commands for each env group mentioned in your overrides.yaml file:

      Dry run:

       helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml \ --dry-run 

        ENV_GROUP_RELEASE_NAME is a name used to keep track of installation and upgrades of the apigee-virtualhosts chart. This name must be unique from the other Helm release names in your installation. Usually this is the same as ENV_GROUP. However, if your environment group has the same name as an environment in your installation, you must use different release names for the environment group and environment, for example dev-envgroup-release and dev-env-release. For more information on releases in Helm, see Three big concepts in the Helm documentation.

      Install the chart:

       helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml 
    2. Check the state of the ApigeeRoute (AR).

      Installing the virtualhosts creates ApigeeRouteConfig (ARC) which internally creates ApigeeRoute (AR) once the Apigee watcher pulls env group related details from the control plane. Therefore, check that the corresponding AR's state is running:

       kubectl -n apigee get arc 
      NAME STATE AGE apigee-org1-dev-egroup 2d
       kubectl -n apigee get ar 
      NAME STATE AGE apigee-org1-dev-egroup-xxxxxx running 2d

GKE with Workload Identity

If you are installing Apigee hybrid on GKE and you are configuring Workload Identity to authenticate service accounts, in the next step, you will configure the associations between the Kubernetes service accounts and the Google service accounts for your cluster.

1 2 3 4 5 6 7 8 9 10 11 (NEXT) Step 12: Set up Workload Identity

All other installations

In the next step, you will configure the Apigee ingress gateway and deploy a proxy to test your installation.

(NEXT) Step 1: Expose Apigee ingress 2