docs/daprdocs/content/en/operations/hosting/kubernetes/cluster/setup-gke.md

2.2 KiB

type title linkTitle weight description
docs Setup a Google Kubernetes Engine cluster Google Kubernetes Engine 3000 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.

{{% alert title="For private GKE clusters" color="warning" %}} 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

{{% /alert %}}

Retrieve your credentials for kubectl

$ gcloud container clusters get-credentials $CLUSTER_NAME \
    --zone $ZONE \
    --project $PROJECT_ID

(optional) Install Helm v3

  1. Install Helm v3 client

Note: The latest Dapr helm chart no longer supports Helm v2. Please migrate from helm v2 to helm v3 by following this guide.

  1. 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