- 环境准备
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 ~]# hostname master.example.com [root@localhost ~]# vi /etc/hosts [root@localhost ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.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 docker Created 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-openshift Unable to find image 'openshift/hello-openshift:latest' locally Trying to pull repository docker.io/openshift/hello-openshift ... latest: Pulling from docker.io/openshift/hello-openshift 4f4fb700ef54: Pull complete c50eada6eac9: Pull complete Digest: sha256:e7e629c9f56259b1e60f79dad46cb2b20dd3ed2a67ee1bb52bce11eb13946c9b serving on 8888 serving on 8080 # 表示成功
-
ansible和pyOpenSSL
2.1 修改yum源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all && yum makecache
2.2 安装节点依赖包
yum install -y wget git net-tools bind-utils iptables-services bridge-utils bash-completion1 yum 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=root deployment_type=origin openshift_master_identity_providers=[{'name': 'htpasswd_auth','login': 'true', 'challenge': 'true','kind': 'HTPasswdPasswordIdentityProvider','filename': '/etc/origin/master/htpasswd'}] openshift_master_default_subdomain=example.com openshift_hosted_metrics_deploy=true [masters] master.example.com EOF
2.6 测试ansible是否连同其他机器
这个实例中只有master.example.com一个机器[root@master ansible]# ansible all -m ping master.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.gz tar -xvzf openshift-ansible-3.6.173.0.31-1.tar.gz ln -s openshift-ansible-openshift-ansible-3.6.173.0.31-1 openshift-ansible-3.6 cd openshift-ansible-3.6 [root@master openshift-ansible-3.6]# pwd /opt/openshift-ansible-3.6 sed -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
转载于:https://my.oschina.net/wangzilong/blog/1549021