Setup a Google Kubernetes Engine (GKE) cluster
Setup a Google Kubernetes Engine cluster
Prerequisites
Create a new cluster
$ gcloud services enable container.googleapis.com && \
gcloud container clusters create $CLUSTER_NAME \
--zone $ZONE \
--project $PROJECT_ID
For more options refer to the Google Cloud SDK docs, or instead create a cluster through the Cloud Console for a more interactive experience.
For private GKE clusters
Sidecar injection will not work for private clusters without extra steps. An automatically created firewall rule for master access does not open port 4000. This is needed for Dapr sidecar injection.
To review the relevant firewall rule:
$ gcloud compute firewall-rules list --filter="name~gke-${CLUSTER_NAME}-[0-9a-z]*-master"
To replace the existing rule and allow kubernetes master access to port 4000:
$ gcloud compute firewall-rules update <firewall-rule-name> --allow tcp:10250,tcp:443,tcp:4000
Retrieve your credentials for kubectl
$ gcloud container clusters get-credentials $CLUSTER_NAME \
--zone $ZONE \
--project $PROJECT_ID
(optional) Install Helm v3
Note: The latest Dapr helm chart no longer supports Helm v2. Please migrate from helm v2 to helm v3 by following this guide.
- In case you need permissions the kubernetes dashboard (i.e. configmaps is forbidden: User “system:serviceaccount:kube-system:kubernetes-dashboard” cannot list configmaps in the namespace “default”, etc.) execute this command
kubectl create clusterrolebinding kubernetes-dashboard -n kube-system --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
Last modified February 18, 2022: Update setup-jetstream.md (#2200) (428d8c2)