Google Kubernetes Engine (GKE) is a managed Kubernetes service for deploying, managing, and scaling containerized applications. WEKA is a high-performance, scalable storage platform that integrates seamlessly with Kubernetes clusters to provide persistent storage for demanding containerized applications and workflows.
Combining GKE and WEKA results in an easily automated and managed Kubernetes environment, delivering best-in-class performance at scale.
GKE must be deployed in .
GKE Worker nodes must be configured with Ubuntu OS.
If (supported on GKE only with Google Container Optimized OS) is required, configure WEKA over NFS. For details, see .
Deploy GKE in Standard mode with Ubuntu OS.
Set up WEKA client on existing GKE worker nodes.
Configure automated WEKA setup client on worker nodes.
Install and configure the WEKA CSI plugin.
Set up WEKA storage for GKE pods.
Procedure:
Go to the GCP menu, select Kubernetes Engine, and then Clusters.
Click CREATE to create a new cluster.
If prompted, click SWITCH TO STANDARD CLUSTER. This mode also enables SSH access to worker nodes, which is necessary for installing the WEKA POSIX clients.
Change from a regional to a zonal setup. Select the zone where the WEKA Cluster management IPs are located to ensure optimal communication and performance. This step ensures seamless communication between GKE and the WEKA cluster.
Adjust the node pool settings: Go to Nodes within the default-pool under NODE POOLS in the GKE console, and change the Image type to Ubuntu with containerd (ubuntu_containerd).
Ensure worker nodes meet a minimum configuration of 8 vCPUs and 32 GB RAM. The WEKA client requires a minimum of 2 vCPUs and 5 GB of RAM.
If the GKE cluster was set up in advance, deploy the WEKA cluster to the same networking VPC and subnet. Otherwise, ensure that the GKE cluster networking is configured within the same VPC and subnet as the WEKA management IPs. Aligning networking elements per the recommendation will ensure optimal performance.
Click CREATE to create the cluster.
Wait for the cluster status to indicate Ready or Green before proceeding with further configuration or deployment tasks.
Perform this procedure for each GKE worker node individually.
Any new GKE worker nodes added later will require these steps for WEKA client installation unless the following automation steps are implemented.
Before You Begin
Ensure SSH access to the GKE worker nodes is available to install the WEKA client.
Procedure:
Identify the names of the GKE worker nodes where the WEKA client will be installed.
Go to Google Cloud Platform > Compute Engine > VM Instance console. Locate the identified GKE worker node, select SSH connect from the dropdown menu, and choose Open in browser window to initiate the SSH connection.
Google Cloud Platform (GCP) allows the addition of startup scripts at the project level, ensuring each new instance runs the script. By using metadata lookups, the WEKA client installation you can restrict to GKE cluster systems.
With auto-scaling enabled, GKE automatically adds and sets up the WEKA client on each new worker node.
Procedure:
In the GCP Compute Engine console, scroll to the bottom of the left-side menu.
Select Metadata under the Settings section.
Click EDIT, then select + ADD ITEM.
Set the key name to startup-script (no spaces), and paste the following GKE WEKA client install script into the Value field. Replace the following input values according to your environment:
WEKA_FS (line 11)
WEKA_HOSTS (line 17)
GKE_CLUSTER_NAME (line 99)
After adding the startup script, click SAVE at the bottom of the page.
Test the script:
Increase the Node Pools node count.
Check the client list in WEKA UI to verify that the new clients have been added.
You may need to adjust the steps according to your specific setup and requirements.
Follow these steps to deploy GKE in Standard mode with Ubuntu OS for the worker nodes. For complete GKE documentation, visit the .
To avoid CPU pinning conflicts with GKE, start the WEKA client using a stateless client mount. Authorize the SSH connection, then add the WEKA client from the existing WEKA cluster. For details, see the procedure.
To install and configure the WEKA CSI plugin, follow the procedures in the section.
To set up WEKA storage for use by GKE pods, follow the procedures in the section, in the CSI Plugin section.