mirror of
https://github.com/tektoncd/catalog.git
synced 2024-11-22 06:02:51 +00:00
d2dfcc98b1
Changes include: - moves and modifies readme file from openshift-provision to openshift-uninstall - moves examples directory from openshift-provision - changes the yaml filename to match the resource name Issue: #386 Signed-off-by: Puneet Punamiya <ppunamiy@redhat.com> |
||
---|---|---|
.. | ||
example | ||
openshift-uninstall.yaml | ||
README.md |
OpenShift Provisioning
The following task helps you to provision the Openshift cluster using the Installer Provided Infrastructure on the desired cloud platform. Supported cloud platforms are :-
- AWS
- GCP
Guide to provision a cluster on AWS can be found here and for GCP can be found here
OpenShift-Destroy
Install the Task
kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/task/openshift-uninstall/0.1/openshift-uninstall.yaml
Workspaces
- install-dir: The
PersistentVolume
workspace which will contain all the files generated by theopenshift-install
which later can be used at the time of destroying the cluster.
Parameters
- OPENSHIFT_INSTALLER_IMAGE: OpenShift installer base image for UPI installation (default: quay.io/openshift/origin-upi-installer:4.4)
Usage
Taking example of AWS :-
- Create the PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: install-dir
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
- Create the secrets (taking an example of mouting AWS credentials and config)
apiVersion: v1
kind: Secret
metadata:
name: openshift-install
type: Opaque
stringData:
pull-secret: $(pull-secret)
public-ssh-key: $(public-ssh-key)
The secrets for the respected cloud platform can be mounted as (taking aws
as an example):-
apiVersion: v1
kind: Secret
metadata:
name: aws-credentials
type: Opaque
stringData:
credentials: |-
[profile-name]
aws_access_key_id = $(access-key-id)
aws_secret_access_key = $(secret-access-key)
[default]
aws_access_key_id = $(access-key-id)
aws_secret_access_key = $(secret-access-key)
config: |-
[profile profile-name]
region = $(region)
output = json
- Creating
TaskRun
for the OpenShift Create:
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
name: install-run
spec:
taskRef:
name: openshift-install
params:
- name: PLATFORM
value: aws
- name: CLUSTER_NAME
value: test-cluster
- name: BASE_DOMAIN
value: devcluster.openshift.com
- name: REPLICAS
value: 3
- name: REGION
value: us-east-2
workspaces:
- name: install-dir
persistentvolumeclaim:
claimName: install-dir
- name: secrets
secret:
secretName: aws-credentials
NOTE
- To access the cluster created in other tasks we need to use the same
Workspace
and keep theworkingDir: $(workspaces.workspaces-name.path)
and to login into the cluster in the next Tekton Task do the following :-
and to get the URL for OpenShift webconsole do the following :-export KUBECONFIG=auth/kubeconfig
cat auth/webaccess
- In order to destroy the cluster, it is mandatory to keep the volume which is used at the time of creating the cluster, else deletion of cluster will not be possible. This is because volume contains neccesary files that we get once we get the cluster created and these files are required during deletion of the cluster.