About the asmcli

The asmcli is a Google-provided script that you can use to install or upgrade Anthos Service Mesh. If you let it, asmcli will configure your project and cluster as follows:

  • Grant you the required Identity and Access Management (IAM) permissions on your Google Cloud project.
  • Enable the required Google APIs on your Google Cloud project.
  • Set a label on the cluster that identifies the mesh.
  • Register the cluster to the fleet if it isn't already registered.

Just include the --enable_all flag when you run asmclito let it configure your project and cluster.

Next, asmcli configures YAML files with your project and cluster information. These configuration files are needed to install the Anthos Service Mesh in-cluster control plane.

By default, asmcli doesn't install an ingress gateway with the control plane. Although fine for evaluation and simple use cases, coupling the gateway to the control plane makes management and upgrade more complicated. For production deployments, we recommend that you install gateways separately.

The asmcli takes the place of istioctl install and the install_asm script.

If you are familiar with install_asm, asmcli is similar but with the following notable differences:

  • You use asmcli install for new installations and upgrades. There isn't a --mode option like with install_asm. When you run asmcli install, it checks to see if there's an existing control plane on the cluster. If there isn't an existing control plane, asmcli installs Anthos Service Mesh. If the cluster has an existing control plane (either an Anthos Service Mesh control plane or an open source Istio control plane):

    • If the revision label on the existing control plane doesn't match the revision label for the new control plane, asmcli does a canary upgrade.

    • If the control plane revision labels are the same, asmcli does an in-place upgrade.

  • Most of the asmcli options and flags behave the same as the ones for install_asm.

If you are familiar with istioctl install, if you normally pass an IstioOperator YAML file via the -f command-line argument to configure the control plane, you can pass the file to asmcli using the --custom_overlay option. In the Anthos Service Mesh documentation, we refer to these files as overlay files.

With this preview, we have documentation for using asmcli to install the Anthos Service Mesh in-cluster control plane on the following platforms:

  • GKE:

    • For new installations, the clusters can be in either the same or different projects.

    • For upgrades, unless you used asmcli for the initial installation, this preview release of asmcli doesn't support upgrading clusters that are in different projects. To upgrade a multi-project mesh, see Upgrading Anthos Service Mesh on GKE in a multi-project mesh.

  • On-premises: Both new installation and upgrades are supported on GKE on VMware and Google Distributed Cloud Virtual for Bare Metal

What's next