ccd1080419
Signed-off-by: Puneet Punamiya <ppunamiy@redhat.com> |
||
---|---|---|
.. | ||
samples | ||
gke-deploy.yaml | ||
README.md |
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/master/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.