Set SSH keypair with no pass-phrase ( For ansible )
- ssh-keygen -q -N “”
- ssh-copy-id <Host_name> [For each host name , including itself]
Master node prepare for ansible install
- yum -y install openshift-ansible
- vi /etc/ansible/hosts
# add follows to the end
[OSEv3:children]
masters
nodes
etcd
[OSEv3:vars]
# admin user created in previous section
ansible_ssh_user=root
ansible_become=true
openshift_deployment_type=origin
# use HTPasswd for authentication
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
# define default sub-domain for Master node
openshift_master_default_subdomain=apps.xxxx.local
# allow unencrypted connection within cluster
openshift_docker_insecure_registries=172.30.0.0/16
[masters]c01.xxxx.local openshift_schedulable=true containerized=false
[etcd]c01.xxxx.local
[nodes]# defined values for [openshift_node_group_name]in the file below
# [/usr/share/ansible/openshift-ansible/roles/openshift_facts/defaults/main.yml]
c01.xxxx.local openshift_node_group_name='node-config-master-infra'
c02.xxxx.local openshift_node_group_name='node-config-compute'
c03.xxxx.local openshift_node_group_name='node-config-compute'
# if you'd like to separate Master node feature and Infra node feature, set like follows
# c01.xxxx.local openshift_node_group_name='node-config-master'
# c02.xxxx.local openshift_node_group_name='node-config-compute'
# c03.xxxx.local openshift_node_group_name='node-config-infra'
# run Prerequisites Playbook
Prerequisite
Master
- yum install wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct vim python-setuptools unzip tree docker –y
- yum install atomic -y
- yum install -y origin-node-3.11.0 origin-clients-3.11.0 conntrack-tools
- yum install -y centos-release-openshift-origin311 ceph-common container-selinux docker epel extras python-docker
All Host
- yum -y install centos-release-openshift-origin311 epel-release docker git pyOpenSSL
- systemctl start docker
- systemctl enable docker
PIP Downgrade
Error: Could not find imported module support code for docker_info. Looked for either AnsibleDockerClient.py or docker_common.py
Failure summary:
Hosts:
Play: OpenShift Health Checks
Task: Run health checks (install) - EL
Message: One or more checks failed
Details: check "docker_storage":
Could not find imported module support code for docker_info. Looked for either AnsibleDockerClient.py or docker_common.py
Traceback (most recent call last):
File "/root/workspace/openshift-ansible/roles/openshift_health_checker/action_plugins/openshift_health_check.py", line 225, in run_check
result = check.run()
File "/root/workspace/openshift-ansible/roles/openshift_health_checker/openshift_checks/docker_storage.py", line 53, in run
docker_info = self.execute_module("docker_info", {})
File "/root/workspace/openshift-ansible/roles/openshift_health_checker/openshift_checks/init.py", line 211, in execute_module
result = self._execute_module(module_name, module_args, self.tmp, self.task_vars)
File "/usr/lib/python2.7/site-packages/ansible/plugins/action/init.py", line 809, in _execute_module
(module_style, shebang, module_data, module_path) = self._configure_module(module_name=module_name, module_args=module_args, task_vars=task_vars)
File "/usr/lib/python2.7/site-packages/ansible/plugins/action/init.py", line 203, in _configure_module
environment=final_environment)
File "/usr/lib/python2.7/site-packages/ansible/executor/module_common.py", line 1023, in modify_module
environment=environment)
File "/usr/lib/python2.7/site-packages/ansible/executor/module_common.py", line 859, in _find_module_utils
recursive_finder(module_name, b_module_data, py_module_names, py_module_cache, zf)
File "/usr/lib/python2.7/site-packages/ansible/executor/module_common.py", line 621, in recursive_finder
raise AnsibleError(' '.join(msg))
AnsibleError: Could not find imported module support code for docker_info. Looked for either AnsibleDockerClient.py or docker_common.py
Resolve: pip install ansible==2.6.20
Pre-Check
Install (Deploy)
- ansible-playbook /usr/share/ansible/openshiftansible/playbooks/deploy_cluster.yml
PLAY RECAP *
c01.xxxx.local : ok=708 changed=318 unreachable=0 failed=0
c02.xxxx.local : ok=120 changed=62 unreachable=0 failed=0
c03.xxxx.local : ok=120 changed=62 unreachable=0 failed=0
localhost : ok=11 changed=0 unreachable=0 failed=0
INSTALLER STATUS *
Initialization : Complete (0:00:31)
Health Check : Complete (0:00:06)
Node Bootstrap Preparation : Complete (0:38:29)
etcd Install : Complete (0:00:59)
Master Install : Complete (0:05:34)
Master Additional Install : Complete (0:00:45)
Node Join : Complete (0:00:15)
Hosted Install : Complete (0:01:03)
Cluster Monitoring Operator : Complete (0:01:17)
Web Console Install : Complete (0:00:47)
Console Install : Complete (0:00:30)
metrics-server Install : Complete (0:00:01)
Service Catalog Install : Complete (0:02:08)
Health check
[root@c01 ~]# oc get nodes
NAME STATUS ROLES AGE VERSION
c01.xxxx.local Ready infra,master 11m v1.11.0+d4cacc0
c02.xxxx.local Ready compute 7m v1.11.0+d4cacc0
c03.xxxx.local Ready compute 7m v1.11.0+d4cacc0
[root@c01 ~]# oc get nodes –show-labels=true
NAME STATUS ROLES AGE VERSION LABELS
c01.xxxx.local Ready infra,master 11m v1.11.0+d4cacc0 beta.kuberne tes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=c01.xxxx.loca l,node-role.kubernetes.io/infra=true,node-role.kubernetes.io/master=true
c02.xxxx.local Ready compute 7m v1.11.0+d4cacc0 beta.kuberne tes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=c02.xxxx.loca l,node-role.kubernetes.io/compute=true
c03.xxxx.local Ready compute 7m v1.11.0+d4cacc0 beta.kuberne tes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=c03.xxxx.loca
Change admin password and role
- htpasswd -c /etc/origin/master/htpasswd admin
- oc adm policy add-cluster-role-to-user cluster-admin admin
Webconsole: https://c01.xxxx.local:8443
Cluster console: https://console.apps.xxxx.local