Install Contrail 4.0 + K8s + Openshift on AWS



Latest support:



LAUNCH INSTANCES ON AWS

https://github.com/savithruml/openshift-contrail/wiki

and click on lab number 2:

https://aws.amazon.com/


1- Create an VM on AWS


use Centos 7.3 AMI





If the key-pair has already be created:


Create a name:

2- SSH to the VM ( username= centos ,  and use the private key created)



3- ENABLE ROOT-SSH ACCESS + create a root password ( to all nodes )

sudo su
passwd   #( contrail1 )
##sed -e 's/#PermitRootLogin yes/PermitRootLogin yes/g' -e 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

sed -i 's/#PermitRootLogin/PermitRootLogin/g' /etc/ssh/sshd_config

sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

#more /etc/ssh/sshd_config  | grep PermitRootLogin

#more /etc/ssh/sshd_config | grep PasswordAuthentication

service sshd restart 
yum install git epel-release -y
exit

logout

login root@.....



4- INSTALL DEPENDENCIES ( ansible-node, master-node and slave-node )


(master-node)#  !!!!! modif: Master + Ansible Node
su
yum update -y
yum install ansible pyOpenSSL python-cryptography python-lxml -y
yum install kernel-devel kernel-headers -y && reboot


(slave-node)# 
su
yum update -y
yum install kernel-devel kernel-headers nfs-utils socat -y && reboot


4- INSTALL OPENSHIFT

(ansible-node)# 
ssh-keygen -t rsa              #( passphrase:  contrail1 )
ssh-copy-id root@localhost
ssh-copy-id root@<master-node>
ssh-copy-id root@<slave-node>

cd /root
git clone https://github.com/savithruml/openshift-contrail
git clone https://github.com/openshift/openshift-ansible

yes | cp /root/openshift-contrail/openshift/install-files/ose-install openshift-ansible/inventory/byo
yes | cp /root/openshift-contrail/openshift/install-files/ose-prerequisites.yml openshift-ansible/inventory/byo



     Populate /root/openshift-ansible/inventory/byo/ose-install with all hosts (master & slave) information


From AWS, copy the Private IP@


[masters]
{master-node-internal-ip} openshift_hostname={master-node-internal-hostname}

[etcd]
{master-node-internal-ip} openshift_hostname={master-node-internal-hostname}

[nodes]
{slave-node-internal-ip} openshift_hostname={slave-node-internal-hostname}


(ansible-node)#

#change cnfig file:   /root/openshift-ansible/playbooks/common/openshift-cluster/config.yml

cd /root/openshift-ansible

ssh-agent bash

ssh-add ~/.ssh/id_rsa

ansible-playbook -i inventory/byo/ose-install inventory/byo/ose-prerequisites.yml

ansible-playbook -i inventory/byo/ose-install playbooks/byo/openshift_facts.yml

ansible-playbook -i inventory/byo/ose-install playbooks/byo/config.yml