GKE Clusters
How to Optimize Google Managed Kubernetes Clusters
1. Download Kaytu CLI
MacOS
brew tap kaytu-io/cli-tap && brew install kaytu
Linux
curl -fsSL https://raw.githubusercontent.com/kaytu-io/kaytu/main/scripts/install.sh | sh
Windows (and all Binaries) Download Windows (Linux, and MacOS) binary from releases
2. Login to kaytu CLI
kaytu login
Install the Kaytu CLI plugin
kaytu plugin install kubernetes
3. Login to Google Cloud CLI
If you don't have Google Cloud CLI, go here and install it and run this command:
gcloud components install kubectl
Run to confirm you are logged in to the correct account
gcloud auth list
4. Authenticate to Kubernetes Cluster
gcloud container clusters get-credentials [cluster-1] --zone [us-central1-c] --project [mumbai-341413]
Replace the parameters enclosed in [] with your cluster name, zone, and project-id.
Run
kubectl get pods
to confirm you are connected to the cluster
5. Install Kubernetes Agent
5a. Generate Enrollment Keys
Enrollment keys allow the Kubernetes cluster to get optimization results from the Kaytu platform.
kaytu apikey generate [cluster-name]
Replace the Cluster name with the Kubernetes Cluster.
Please copy the enrollment key provided. Unfortunately, you won't be able to view the key at a later time.
5b. Add Helm Repo
helm repo add kaytu-io https://kaytu-io.github.io/kaytu-charts
Once that completes, let's fetch the latest list of charts
helm repo update
5c. Populate the values.yaml
In values.yaml file, please make sure the following variables are correctly configured:
kaytu.kaytu.authToken
needs to be populated with the key generated in Step 4.
kaytu.kaytu.prometheus.address
needs to be pointed to the Prometheus endpoint.
5d. Install the Chart
This will create a namespace if one doesn't exist for Kaytu
helm install --create-namespace -n kaytu-system my-kaytu-agent kaytu-io/kaytu-agent -f values.yaml
5e. Wait for optimization
Check the logs and wait for the optimization cycle to be over
kubectl logs -f kaytu-agent-0
Wait for the log containing the optimization cycle to be completed.
6. Run optimization Checks
kaytu optimize kubernetes