- 环境准备 1.1 主机准备 CPU:单核 内存:2G 磁盘:20G 网络:IPV4 1.2 操作系统准备 Centos 7 1.3 操作系统配置 网络配置 关闭防火墙
[root@localhost ~]# systemctl status firewalld● firewalld.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead)[root@localhost ~]#
配置主机名解析
[root@localhost ~]# hostnamectl set-hostname master.example.com[root@localhost ~]# hostnamemaster.example.com[root@localhost ~]# vi /etc/hosts[root@localhost ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6172.18.0.55 master.example.com[root@localhost ~]#
1.4 安装docker
openshift 平台使用的容器引擎是docker,所以需要安装docker软件包[root@localhost yum.repos.d]# yum install docker -y
docker安装完成后启动docker,并设置为开机自动启动
[root@master ~]# systemctl start docker[root@master ~]# systemctl enable dockerCreated symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
安装docker以后需要从镜像服务器下载镜像,国内下载速度一般比较慢,所以建议修改docker配置文件,链接到国内的镜像服务器。当前测试修改为链接到中科大的镜像服务器。
运行一个测试镜像:docker run -it openshift/hello-openshift[root@master ~]# docker run -it openshift/hello-openshiftUnable to find image 'openshift/hello-openshift:latest' locallyTrying to pull repository docker.io/openshift/hello-openshift ... latest: Pulling from docker.io/openshift/hello-openshift4f4fb700ef54: Pull complete c50eada6eac9: Pull complete Digest: sha256:e7e629c9f56259b1e60f79dad46cb2b20dd3ed2a67ee1bb52bce11eb13946c9bserving on 8888serving on 8080# 表示成功
-
ansible和pyOpenSSL
2.1 修改yum源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repoyum clean all && yum makecache
2.2 安装节点依赖包
yum install -y wget git net-tools bind-utils iptables-services bridge-utils bash-completion1yum install -y rubygem-thor rubygem-parseconfig util-linux pyOpenSSL libffi-devel python-cryptography# 这两个安装在master 和node上都要安装
yum install python-passlib -y# 这个必须在master上安装
2.3 安装ansible和pyOpenSSL
yum install -y --enablerepo=epel ansible pyOpenSSL# 只在master上安装
2.4 配置面秘钥访问
配置面秘钥访问,并复制秘钥到其他节点上 2.5 修改ansible配置文件 在master上执行,备份原始ansible hosts文件 2.6 配置/etc/ansible/hosts 在配置文件中添加如下内容:cat > /etc/ansible/hosts << EOF[OSEv3:children]masters[OSEv3:vars]ansible_ssh_user=rootdeployment_type=originopenshift_master_identity_providers=[{'name': 'htpasswd_auth','login': 'true', 'challenge': 'true','kind': 'HTPasswdPasswordIdentityProvider','filename': '/etc/origin/master/htpasswd'}]openshift_master_default_subdomain=example.comopenshift_hosted_metrics_deploy=true[masters]master.example.comEOF
2.6 测试ansible是否连同其他机器
这个实例中只有master.example.com一个机器[root@master ansible]# ansible all -m pingmaster.example.com | SUCCESS => { "changed": false, "ping": "pong"}
-
安装openshift
3.1 下载并解压openshift软件wget https://github.com/openshift/openshift-ansible/archive/openshift-ansible-3.6.173.0.31-1.tar.gztar -xvzf openshift-ansible-3.6.173.0.31-1.tar.gzln -s openshift-ansible-openshift-ansible-3.6.173.0.31-1 openshift-ansible-3.6cd openshift-ansible-3.6[root@master openshift-ansible-3.6]# pwd/opt/openshift-ansible-3.6sed -i 's/mirror.centos.org/mirrors.aliyun.com/' ./roles/openshift_repos/files/origin/repos/openshift-ansible-centos-paas-sig.repo
3.2 安装openshift
ansible-playbook ./playbooks/byo/config.yml