How to Deploy Fusion on Google Kubernetes Engine (GKE)
- 1. Set up the Google Cloud SDK (one time only)
- 2. How to create a Fusion cluster in GKE
Fusion supports deployment on Google Kubernetes Engine (GKE). This topic explains how to deploy a Fusion cluster on GKE.
You need an account on each of these cloud services before you can begin deploying Fusion on GKE:
You also need these tools, installed on your local machine:
Finally, you need the
setup_f5_gke.sh script, which creates a default configuration file and launches a GKE cluster. Run
setup_f5_gke.sh --help for complete usage information. See How to create a Fusion cluster in GKE for examples.
These are the high-level steps, explained in detail later in this topic:
One time only:
1. Set up the Google Cloud SDK (one time only)
These steps set up your local Google Cloud SDK environment so that you’re ready to use the command-line tools to manage your Fusion deployment.
Usually, you only need to perform these setup steps once per local session. After that, you’re ready to create a cluster.
Log in to Google Cloud:
gcloud auth login
Set up the Google Cloud SDK:
gcloud config set compute/zone <zone-name>
If you are working with regional clusters instead of zone clusters, use
gcloud config set compute/region <region-name>instead.
gcloud config set core/account <email address>
New GKE projects only:
gcloud projects create <new-project-name>
If you have already created a project, for example in the Google Cloud Platform console, then skip to the next step.
gcloud config set project <project-name>
gcloud auth configure-docker
2. How to create a Fusion cluster in GKE
When you run
setup_f5_gke.sh to create a demo cluster, the script creates a
default_fusion_values.yaml file from which it reads parameters for creating your Fusion cluster in GKE.
The values in the
default_fusion_values.yaml file are suitable for a single-node demo cluster only. For multi-node clusters, you need to customize the file, then run
setup_f5_gke.sh with the
--values flag and specify the name of your file.
The steps below show you how to create several kinds of Fusion clusters.
How to create a single-node Fusion demo cluster
A single-node configuration is useful for exploring Fusion in a demo or development environment.
This type of deployment can take at least 12 minutes, plus 3–5 minutes for cluster startup.
Run the setup script:
./setup_f5_gke.sh -c <cluster> -p <project> -z <zone-name>
<cluster>value should be the name of a non-existent cluster; the script will create the new cluster.
<project>must match the name of an existing project in GKE.
gcloud config get-value projectto get this value, or see the GKE setup instructions.
<zone-name>must match the name of the zone you set in GKE.
gcloud config get-value compute/zoneto get this value, or see the GKE setup instructions to set the value.
Upon success, the script shows you where to find the Fusion UI. For example:
Fusion 5 Gateway service exposed at: 198.51.100.16:6764
Access the Fusion UI by pointing your browser to the IP address and port specified in the setup script’s output.
Create a three-node regional cluster to withstand a zone outage
With a three-node regional cluster, nodes are deployed across three separate availability zones.
In this configuration, we want a ZooKeeper and Solr instance on each node, which allows the cluster to retain ZK quorum and remain operational after losing one node, such as during an outage in one availability zone.
When running in a multi-zone cluster, each Solr node has the
solr_zone system property set to the zone it is running in, such as
With this setup, you should install a Solr auto-scaling policy that distributes replicas across different zones.
Multiple node pools for workload isolation
This configuration requires a minimum of seven nodes across three node pools:
2 system pools
2 analytics pools
3 search pools