CentOS install OpenShift Origin (OKD) 3.11

0

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

Share.

About Author

hahahahahaha......nothing here

發表迴響