blog
blog copied to clipboard
Openshift 3.9 安装过程
trafficstars
OpenShift 3.9 安装过程
环境: 三台 Centos:7 的机器
环境准备
以下工作在三台机器上全都做一遍
修改软件源为阿里的源
[root@node1]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@node1]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
安装软件包
[root@node1]# yum update -y
[root@node1]# yum install wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct bash-completion.noarch bash-completion-extras.noarch python-passlib NetworkManager java-1.8.0-openjdk-headless -y
安装 Docker 和 Ansible
[root@node1]# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@node1]# sed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo
[root@node1]# yum -y --enablerepo=epel install ansible pyOpenSSL
[root@node1]# yum install docker-1.13.1 -y
[root@node1]#systemctl enable docker
[root@node1]# systemctl restart docker
下载一些 Image
docker pull docker.io/cockpit/kubernetes:latest
docker pull openshift/origin-deployer:v3.10
docker pull openshift/origin-docker-registry:v3.10
docker pull openshift/origin-pod:v3.10
docker pull openshift/origin-haproxy-router:v3.10
启用 ip_v4 转发、SELinux
启用 ip_v4 转发
sed -i "s,net.ipv4.ip_forward = 0,net.ipv4.ip_forward = 1,g" /etc/sysctl.conf
启用 SELinux
sed -i "s,SELINUX=disabled,SELINUX=enforcing,g" /etc/selinux/config
修改机器名、Hosts 及 ssh-key
修改机器名(依次在三台机器上执行):
[root@node1]# hostnamectl set-hostname node1
修改 Hosts
10.104.179.111 node1
10.104.145.201 node2
10.104.92.38 node3
生成 ssh-key 使得三台机器互通
修改 NetworkManager
编辑 /etc/sysconfig/network-scripts/ifcfg-eth0
....
....
NM_CONTROLLED=yes
PEERDNS=yes
....
....
重启
重启三台机器,并在启动后执行
systemctl restart NetworkManager
安装 OC
克隆 openshift-ansible 代码到 node1
[root@node1]# git clone https://github.com/openshift/openshift-ansible.git
[root@node1]# cd openshift-ansible
[root@node1 openshift-ansible]# git checkout release-3.9
# 由于国内网络问题,替换源
[root@node1 openshift-ansible]# sed -i "s,mirror.centos.org,mirrors.aliyun.com,g" `grep -rn "mirror.centos.org" roles/openshift_repos/templates/ | awk -F":" '{print $1}'`
修改 inventory
[root@node1 openshift-ansible]# vim inventory/hosts
[OSEv3:children]
masters
nodes
etcd
[OSEv3:vars]
ansible_ssh_user=root
openshift_deployment_type=origin
openshift_docker_selinux_enabled=False
containerized=False
openshift_release=3.9
osm_cluster_network_cidr=10.128.0.0/14
openshift_portal_net=172.30.0.0/16
osm_host_subnet_length=9
openshift_disable_check=disk_availability,docker_storage,memory_availability,docker_image_availability
openshift_master_identity_providers=[{'name':'htpasswd_auth','login':'true','challenge':'true','kind':'HTPasswdPasswordIdentityProvider','filename':'/etc/origin/master/htpasswd'}]
openshift_clock_enabled=true
openshift_metrics_install_metrics=true
[masters]
node1 openshift_schedulable=True
node2 openshift_schedulable=True
node3 openshift_schedulable=True
[nodes]
node1 openshift_schedulable=true openshift_node_labels="{'region': 'infra', 'zone': 'default'}"
node2 openshift_schedulable=true openshift_node_labels="{'region': 'infra', 'zone': 'default'}"
node3 openshift_schedulable=true openshift_node_labels="{'region': 'infra', 'zone': 'default'}"
[etcd]
node1
node2
node3
安装
[root@node1 openshift-ansible]# ansible-playbook -i inventory/hosts playbooks/prerequisites.yml
[root@node1 openshift-ansible]# ansible-playbook -i inventory/hosts playbooks/deploy_cluster.yml