apigeectl

apigeectl is a command-line interface (CLI) for installing and managing Apigee hybrid in a Kubernetes cluster. For information on downloading and installing apigeectl, see Download and install apigeectl.

Scopes for applying apigeectl

By using apigeectl flags you control which scopes the command applies configuration changes to. For an overview of scopes within the Apigee hybrid runtime see the Runtime service configuration overview.

ScopeComponentsapigeectl flag
Storage Cassandra --datastore
In-memory storage Redis --redis
Environment Runtime
Synchronizer
UDCA
--all-envs
--env
Organization Apigee Connect Agent
MART
Watcher
--org
Reporting Logger
Metrics
--telemetry

apigeectl syntax

apigeectl [command] [flags]

Where:

  • command: Specifies the operation you want to perform. For a complete list of commands, see apigeectl commands.

  • flags: Specifies command parameters. For a complete list of flags, see apigeectl flags.

apigeectl commands

The following table lists the apigeectl commands:

Command Description
apply

Applies configurations for Apigee hybrid runtime components to your Kubernetes cluster.

apigeectl apply without flags will apply changes to all components in the cluster.

apigeectl flags: --all-envs, --datastore, --dry-run, --env, -f, --file-override-config, --help, --org, --print-yaml, --redis, --settings virtualhosts, --telemetry,--verbose

check‑ready

Checks the status of the hybrid component pods. When all component pods are ready, the message "All containers ready" is output. For automated scripting, note that the command exits with a status of 0 when the containers are all ready. When there is at least one pod not ready, the command exits with a status of 1.

apigeectl flags: -f, --file-override-config, --help, --verbose

delete

Deletes hybrid components from the cluster. Use the --all flag to remove ALL of the components. If you omit --all, only the Apigee-specific components are removed (the components installed with apigeectl init are not deleted). Apigee-specific components are the components that are installed with the apply command.

apigeectl delete without any optional flags applies the delete command to all of the components deployed in the cluster.

apigeectl flags: --all, --all-envs, --datastore, --env, -f, --file-override-config, --help, --org, --redis, --telemetry, --verbose

encode

Returns a list of encoded names of all the ApigeeDeployments for the specified organization or the specified environment within the specified organization. The encoded names include the name of the component with a hashed name of the organization and if using the --env flag, a hashed name of the environment. Apigee hybrid creates hashed names of organizations and environments to be able to avoid namespace collisions.

You must use either the --org org-name or both the --org org-name with the --env env-name flags with encode. For example:

./apigeectl encode --org hybrid-example
List of ApigeeDeployments are:
  apigee-connect-agent-hybrid-example-6a82f8a
  apigee-mart-hybrid-example-6a82f8a
  apigee-watcher-hybrid-example-6a82f8a
./apigeectl encode --org hybrid-example --env example-env
List of ApigeeDeployments are:
  apigee-runtime-hybrid-example-example-env-9e87e2d
  apigee-synchronizer-hybrid-example-example-env-9e87e2d
  apigee-udca-hybrid-example-example-env-9e87e2d

apigeectl flags: --env, --org

help Prints online help.
init

Installs Apigee Operators and CRDs in the apigee-system namespace.

Run apigeectl init after a fresh install or upgrade before running apigeectl apply.

apigeectl flags: -f, --file-override-config, --help, --verbose

version Prints the CLI version information.

apigeectl flag: --help

apigeectl flags

The following table lists the apigeectl flags:

Flag Description
--all delete only: Deletes the entire Apigee hybrid installation except ASM (Istio) and cert-manager from your cluster.
--all-envs

Applies the apigeectl command to all environments under the organization specified in your overrides config file.

--datastore

Applies the configuration to the datastore scope (Cassandra).

‑‑dry‑run Executes the specified command without changing the cluster. Use with ‑‑print-yaml to output the rendered object spec to a file.

‑‑dry‑run must be used with one of the two following values, depending on the version of kubectl you are running. Use gcloud version to check your kubectl version:

  • kubectl version 1.17.x or older: ‑‑dry‑run=true
  • kubectl version 1.18.x or newer: ‑‑dry‑run=client
--env env-name

Applies the configuration to the specified environment. This flag will apply configuration to environment scope components apigee-runtime, apigee-synchronizer and apigee-udca.

--env must be used with the --org flag. For example:

apigeectl apply --org hybrid-example --env example-env \
      -f overrides/overrides.yaml
‑f
‑‑file‑override‑config
Specifies a YAML file containing custom configuration properties for the hybrid deployment. The default value is ./overrides.yaml. An overrides file is required for the apply, check-ready, delete, and init commands.

You must specify the full path with this flag. For more information, see Managing runtime plane components.

-h
--help
Displays help for the command.
--org

Applies the configuration to the specified organization. This flag will apply configuration to the org scope components apigee-connect-agent, apigee-mart and apigee-watcher.

--print‑yaml Prints the configuration template output to stdout. For an example that uses this flag, see Print the configuration to a file.
--redis

Applies the configuration to the in-memory data storage scope (Redis).

-s
‑‑settings virtualhosts

Specifies a configuration to which the command applies. Currently, this flag is only supported for the virtualhosts configuration, which is part of the runtime component. Use this flag if you make changes to the virtualhosts property, and nothing else.

For example, if you make a change to the virtualhosts configuration in your overrides file, apply it to the cluster with this command:

apigeectl apply -f my-overrides.yaml --settings virtualhosts \
    --org example-org --env example-env
--telemetry

Applies the configuration for telemetry components like apigee-logger and apigee-metrics.

--verbose

Prints verbose logs to std err.

Examples

Initialize the cluster configuration

Apply prerequisite component configurations to your cluster with init. You must run the init command before apply.

apigeectl init -f my_overrides.yaml

Apply the cluster configuration

To apply hybrid configurations to your Kubernetes cluster, use the apply command. The first time you run apply all of the hybrid runtime components are created in your cluster. If you make configuration changes, rerun apply to apply only the changes or use flags to apply changes to a specific scope only.

The following example applies the configuration for hybrid runtime plane components to your cluster:

apigeectl apply -f my_overrides.yaml

Apply the configuration for a single component

To restrict the apply command to a particular component, use the flags described in apigeectl flags.

The following example only applies the configuration for the Cassandra component:

apigeectl apply --datastore -f my_overrides.yaml

Print the configuration to a file

If you're debugging an installation problem, it's useful to print out the entire cluster configuration to a file so that you can inspect the configuration settings. The --print-yaml flag prints the hybrid configuration to stdout, and the --dry-run flag allows the command to run without making any changes to the cluster.

apigeectl apply -f my_overrides.yaml --dry-run=client --print-yaml > apigee-hybrid.yaml

Check pod status

The following example checks the status of pods deployed to your cluster:

apigeectl check-ready -f overrides/overrides.yaml
All containers ready in namespace 'my-namespace'

Delete hybrid from the cluster

The following example deletes only the hybrid runtime components to your Kubernetes cluster. To delete everything, use the --all flag.

apigeectl delete -f my_overrides.yaml