[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Advanced installation OpenShift V3 Origin





On Tue, Nov 10, 2015 at 5:22 AM, Lorenz Vanthillo <lorenz vanthillo outlook com> wrote:
I want to fake an enterprise environment with OpenShift Origin to test some stuff.
I'm going to try the advanced installation with multiple masters, etcds and multiple nodes.
https://docs.openshift.org/latest/install_config/install/advanced_install.html

I already did the quick installation once (running OpenShift in a container) and I did the advanced installation a few times (one host which contains a master + a node, and some nodes). No etcd. The registry was using persistent storage, the router was just working because I did describe my ip and hostnames in my local /etc/hosts. So no wildcard DNS experience.

Before I start I need to know some things. I will describe the process I want to follow with some questions.

First of all, I'm installing the whole environment on AWS EC2 instances with CentOS7 as OS.
I have 2 masters (master1.example.com and master2.example.com) and 3 nodes (node1.example.com, node2.example.com, ...)
I want to seperate my masters and nodes. So containers and images will only be on the nodes. (So no host which contains a master and a node). I've also 2 servers. One as Webserver and one as NFS server.
After I've changed the hostnames for my masters and nodes. I want to configure a webserver + NFS server (for persistent storage).
- I want to keep it seperate because an enterprise will probably have its own DNS and webserver. I have experience with the NFS-server and persistent storage (On previous installations I did install my NFS server on my master host) Will there be a difference now? Do I need to do some extra configuration? I also want to install apache2.2 on my webserver and configure a wildcard DNS with the IP of the node which will contain my router.
After that I will install the base packages and docker on each host (masters and nodes). After that I need to configure Docker Storage.
- Do I only need to configure that for my nodes? I only want them to contain 'Docker stuff' and I only gave them an additional volume.
Than it's time to ensure host access.

As of now, if using openshift-sdn (which is the default for ansible based installs), your master will also need to be a node for all functionality to work. You can set the master hosts as unscheduleable by setting the openshift_scheduleable = False on the host definition
 
- Do I need to ensure host access between the masters too? Or only from each node to both masters?

Yes, the masters need to be able to address the nodes, and the nodes need to be able to make api calls to the master. Additionally, the port used by openshift-sdn (vxlan based 4789/udp) bust be opened between all masters (which are also nodes) and all nodes. If you are overriding the default sdn solution, then this doesn't apply.
 

Now it's time to start the advanced installation. I will install ansible on both masters and do the configuration on one master.
So editing vi /etc/ansible/hosts with the following content:
- Is the content right for the environment I want to create? I don't understand the etcd hostname. 
- Do I need to configure a virtual IP before I edit and install this file? I don't know anything about the VIP/pacemaker
- I have changed my hostnames. How can I see the difference between the private and public hostname and is it the name of my master1 or master2 or doesn't it matter, or is this about some configuration I forgot (probably something with the pacemaker)?

# Create an OSEv3 group that contains the masters and nodes groups
[OSEv3:children]
masters
nodes
etcd

# Set variables common for all OSEv3 hosts
[OSEv3:vars]
ansible_ssh_user=root
product_type=openshift
deployment_type=origin

# uncomment the following to enable htpasswd authentication; defaults to DenyAllPasswordIdentityProvider
# openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider', 'filename': '/etc/openshift/openshift-passwd'}]

# master cluster ha variables using pacemaker or RHEL HA
openshift_master_cluster_password=openshift_cluster
openshift_master_cluster_vip=192.168.133.25
openshift_master_cluster_public_vip=192.168.133.25
These values need to be IP addresses that are externally addressable from the master hosts. They should be a non-dhcp reserved IP address on the same lan segment of one of the network interfaces of the masters. All of the masters will also need to be on the same network segment for the VIP to be able to float between each of them.

If you want to segregate internal cluster traffic from external traffic, you can specify VIPs from lan segments attached to different NICS on the master hosts, otherwise you would just specify the same IP for both.

openshift_master_cluster_hostname=openshift-master.example.com
openshift_master_cluster_public_hostname=openshift-master.example.com
These need to be configured for pre-defined dns entries that are associated with the VIP values set above.

These will need to be updated to reflect the actual hostnames/ips of the master hosts, this is how ansible connects to the remote hosts for installation.
# host group for etcd
[etcd]
etcd1.example.com
etcd2.example.com
etcd3.example.com

# host group for nodes, includes region info
[nodes]
master[1:3].example.com openshift_node_labels="{'region': 'infra', 'zone': 'default'}"
From the above description, you'll want to add openshift_unscheduleable=True to any master host definitions in the nodes group.
node1.example.com openshift_node_labels="{'region': 'primary', 'zone': 'east'}"
node2.example.com openshift_node_labels="{'region': 'primary', 'zone': 'west'}"


- At last I will run the installer and the environment will be installed/configured. Than I will configure my repository, router, ...




_______________________________________________
users mailing list
users lists openshift redhat com
http://lists.openshift.redhat.com/openshiftmm/listinfo/users




--
Jason DeTiberus

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]