Chapter 7. Multiple OpenShift Deployments
7.1. Prerequisites
The prerequisites described in Section 3.1, “Prerequisites for Provisioning” are required when deploying another OCP environment into AWS. Below is a checklist to perform to prepare for the deployment of another OCP cluster.
- Create subdomain
- Map subdomain NS records to root domain
- Configure authentication
7.1.1. SSH Configuration
The .ssh/config will need to reflect both the existing environment and the new environment. Below is an example. The environment of dev will be the existing deployment and prod will be the new deployment.
Host dev
Hostname bastion.dev.sysdeseng.com
user ec2-user
StrictHostKeyChecking no
ProxyCommand none
CheckHostIP no
ForwardAgent yes
IdentityFile /home/<user>/.ssh/id_rsa
Host *.dev.sysdeseng.com
ProxyCommand ssh ec2-user@dev -W %h:%p
user ec2-user
IdentityFile /home/<user>/.ssh/id_rsa
Host prod
Hostname bastion.prod.sysdeseng.com
user ec2-user
StrictHostKeyChecking no
ProxyCommand none
CheckHostIP no
ForwardAgent yes
IdentityFile /home/<user>/.ssh/id_rsa
Host *.prod.sysdeseng.com
ProxyCommand ssh ec2-user@prod -W %h:%p
user ec2-user
IdentityFile /home/<user>/.ssh/id_rsa7.2. Deploying the Environment
Using the ose-on-aws.py script to deploy another OCP cluster is almost exactly the same as defined in Section 3.1, “Prerequisites for Provisioning” the important difference is --stack-name. In the event that ose-on-aws.py is launched with the same stack name as the previously deployed environment the cloudformation facts will be changed causing the existing deployment to be broken.
Verify the existing stack name by browsing to AWS and clicking the Cloudformation service before proceeding with the steps below.
$ export AWS_ACCESS_KEY_ID=<key_id> $ export AWS_SECRET_ACCESS_KEY=<access_key> $ ./ose-on-aws.py --stack-name=prod --rhsm-user=rhsm-user --rhsm-password=rhsm-password --public-hosted-zone=prod.sysdeseng.com --keypair=OSE-key --github-client-secret=47a0c41f0295b451834675ed78aecfb7876905f9 --github-organization=openshift --github-organization=RHSyseng --github-client-id=3a30415d84720ad14abc --rhsm-pool="Red Hat OpenShift Container Platform, Standard, 2-Core"
Example of Greenfield Deployment Values
The highlighted value stack_name: prod ensures that the dev deployment will not be compromised.
Configured values:
stack_name: prod
ami: ami-10251c7a
region: us-east-1
master_instance_type: m4.large
node_instance_type: t2.medium
app_instance_type: t2.medium
bastion_instance_type: t2.micro
keypair: OSE-key
create_key: no
key_path: /dev/null
create_vpc: yes
vpc_id: None
private_subnet_id1: None
private_subnet_id2: None
private_subnet_id3: None
public_subnet_id1: None
public_subnet_id2: None
public_subnet_id3: None
byo_bastion: no
bastion_sg: /dev/null
console port: 443
deployment_type: openshift-enterprise
openshift_sdn: redhat/openshift-ovs-subnet
public_hosted_zone: prod.sysdeseng.com
app_dns_prefix: apps
apps_dns: apps.prod.sysdeseng.com
rhsm_user: rhsm-user
rhsm_password: rhsm_pool: Red Hat OpenShift Container Platform, Standard, 2-Core containerized: False s3_bucket_name: prod-ocp-registry-prod s3_username: prod-s3-openshift-user github_client_id:
github_client_secret: *
github_organization: openshift,RHSyseng
deploy_openshift_metrics: true
deploy_openshift_logging: true
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.