1
0
mirror of https://github.com/tektoncd/catalog.git synced 2024-11-25 06:17:50 +00:00
catalog/task/gke-deploy/0.1/README.md
Vincent Demeester d93795673c Update self reference from master to main 🧙
And update references to community, pipeline, etc. too.

Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
2021-03-19 11:09:49 +00:00

2.3 KiB

gke-deploy Task

This Task deploys an application to a Google Kubernetes Engine cluster using gke-deploy.

Install the Task

kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/main/task/gke-deploy/0.1/gke-deploy.yaml

Parameters

  • ARGS: The arguments to pass to gke-deploy CLI.

    default: ["--help"]

    See here for the arguments to gke-deploy.

Workspaces

  • source: The Git source repository that contains your application's Kubernetes configs.

Usage

Authorizing gke-deploy commands

See Authorizing gcloud commands for authorizing the gke-deploy Task using a Google IAM Service Account (the instructions describe authorizing gcloud, but the steps are the same).

In order for the gke-deploy Task to deploy to a GKE cluster in your project, the service account that the Task runs as must have the roles/container.developer role, which can be achieved with the command below:

gcloud iam service-accounts [CLUSTER_PROJECT] add-iam-policy-binding \
  --role roles/container.developer\
  --member "serviceAccount:[SERVICE_ACCOUNT_EMAIL]"

Running the Task

You can invoke gke-deploy to deploy manifests in a Git repository by providing a TaskRun:

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: gke-deploy-repo
spec:
  serviceAccountName: workload-identity-sa  # <-- a SA configured with Workload Identity
  taskRef:
    name: gke-deploy
  workspaces:
  - name: source
    persistentVolumeClaim:
      claimName: my-source
  params:
  - name: ARGS
    value:
    - run
    - --filename="$(inputs.resources.source-repo.path)/[PATH_TO_KUBERNETES_CONFIGS]"
    - --cluster=[CLUSTER_NAME]
    - --location=[CLUSTER_LOCATION]
    - --project=[CLUSTER_PROJECT]

See here for more on how to use the Git Resource.

See here to learn how to access private Git repositories using Tekton.