Installing Camel K on Google Kubernetes Engine (GKE)
This guide assumes you’ve already created a Kubernetes Engine cluster on https://console.cloud.google.com.
Make sure you’ve selected a version of Kubernetes greater than 1.11 when creating the cluster. You can create it in any region.
In the list of clusters for the current project, GKE provides a connection string that you need to execute on a shell to configure the
| the connection string contains a |
After executing the connection string, if everything is installed correctly, you should be able to execute:
kubectl get pod
When the cluster is first installed, you should find that "no pods are present" in the cluster. You can proceed with the installation then.
Before installing Camel K on a fresh GKE cluster, you need to perform some extra steps to give to your account the required cluster-admin permissions. This means executing the following command (replacing "email@example.com" with your account email address):
kubectl create clusterrolebinding user-cluster-admin-binding --clusterrole=cluster-admin --firstname.lastname@example.org
The command above is needed to make sure your user is able to delegate some permissions to Camel K service accounts.
Users of GKE are expected to use the
gcr.io registry to push and pull images. In order to push images to
gcr.io, you need to provide a valid key to Camel K. The best way to obtain a valid key is from the web console:
Make sure the project where you created the Kubernetes cluster is selected in the drop-down list
To avoid confusion, it’s suggested to use the "English" language in preferences of the Google Cloud console
Select "IAM & admin" from the navigation menu, then "Service accounts"
Create a new service account specifying the following id: "camel-k-builder"
You’ll be asked to select a role. It’s important to select the "Storage Admin" role from the "Storage" menu
Finish creating the service account
From the action menu of the service account you’ve created, create a key using the JSON format
.json file with the key will be downloaded to your machine. You need to store that key in a Kubernetes secret.
It’s important to rename the file you’ve just downloaded to
kaniko-secret.json (make sure you write it correctly). After the renaming, execute the following command to create the secret:
kubectl create secret generic kaniko-secret --from-file=kaniko-secret.json
You’re ready to install Camel K. You need to get the kamel CLI tool the from release page and put it on your system path.
You should now execute the following command to install cluster resources and the operator (in the current namespace):
kamel install --registry gcr.io --organization <<your-project-id>> --registry-secret kaniko-secret
Use the project id that you’ve annotated when executing the first connection string.
|the project id is NOT the cluster id!|
You’re now ready to play with Camel K!