Skip to content

redhat-developer-demos/ocp4-workload-knative

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ocp4-workload-istio-controlplane - Deploy the Istio control plane

Role overview

  • This role deploys the Istio control plane. It consists of the following playbooks:

    • Playbook: pre_workload.yml - Sets up an environment for the workload deployment.

      • Debug task will print out: pre_workload Tasks completed successfully.

    • Playbook: workload.yml - Used to deploy Istio

      • Debug task will print out: workload Tasks completed successfully.

    • Playbook: post_workload.yml - Used to configure the workload after deployment

      • This role doesn’t do anything here

      • Debug task will print out: post_workload Tasks completed successfully.

    • Playbook: remove_workload.yml - Used to delete the workload

      • This role removes the logging deployment and project but not the operator configs

      • Debug task will print out: remove_workload Tasks completed successfully.

Review the defaults variable file

  • This file ./defaults/main.yml contains all the variables you need to define to control the deployment of your workload.

  • The variable ocp_username is mandatory to assign the workload to the correct OpenShift user.

  • A variable silent=True can be passed to suppress debug messages.

  • You can modify any of these default values by adding -e "variable_name=variable_value" to the command line

Deploy a Workload with the ocp-workload playbook [Mostly for testing]

TARGET_HOST="bastion.na311.openshift.opentlc.com"
OCP_USERNAME="shacharb-redhat.com"
WORKLOAD="ocp-workload-enable-service-broker"
GUID=1001

# a TARGET_HOST is specified in the command line, without using an inventory file
ansible-playbook -i ${TARGET_HOST}, ./configs/ocp-workloads/ocp-workload.yml \
    -e"ansible_ssh_private_key_file=~/.ssh/keytoyourhost.pem" \
    -e"ansible_user=ec2-user" \
    -e"ocp_username=${OCP_USERNAME}" \
    -e"ocp_workload=${WORKLOAD}" \
    -e"silent=False" \
    -e"guid=${GUID}" \
    -e"ACTION=create"

To Delete an environment

TARGET_HOST="bastion.na311.openshift.opentlc.com"
OCP_USERNAME="opentlc-mgr"
WORKLOAD="ocp4-workload-infra-nodes"
GUID=1002

# a TARGET_HOST is specified in the command line, without using an inventory file
ansible-playbook -i ${TARGET_HOST}, ./configs/ocp-workloads/ocp-workload.yml \
    -e"ansible_ssh_private_key_file=~/.ssh/keytoyourhost.pem" \
    -e"ansible_user=ec2-user" \
    -e"ocp_username=${OCP_USERNAME}" \
    -e"ocp_workload=${WORKLOAD}" \
    -e"guid=${GUID}" \
    -e"ACTION=remove"

Deploy Workload on OpenShift Cluster from an existing playbook:

- name: Deploy a workload role on a master host
  hosts: all
  become: true
  gather_facts: False
  tags:
    - step007
  roles:
    - { role: "{{ocp_workload}}", when: 'ocp_workload is defined' }
Note
You might want to change hosts: all to fit your requirements

Set up your Ansible inventory file

  • You can create an Ansible inventory file to define your connection method to your host (Master/Bastion with oc command)

  • You can also use the command line to define the hosts directly if your ssh configuration is set to connect to the host correctly

  • You can also use the command line to use localhost or if your cluster is already authenticated and configured in your oc configuration

Example inventory file
[gptehosts:vars]
ansible_ssh_private_key_file=~/.ssh/keytoyourhost.pem
ansible_user=ec2-user

[gptehosts:children]
openshift

[openshift]
bastion.cluster1.openshift.opentlc.com
bastion.cluster2.openshift.opentlc.com
bastion.cluster3.openshift.opentlc.com
bastion.cluster4.openshift.opentlc.com

[dev]
bastion.cluster1.openshift.opentlc.com
bastion.cluster2.openshift.opentlc.com

[prod]
bastion.cluster3.openshift.opentlc.com
bastion.cluster4.openshift.opentlc.com

About

Setting up Knative on OCP4 for RHPDS Workshops

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published