1.环境:

主机名      ip                   角色

master    10.2.1.198      master

node1     10.2.1.174      node

node2     10.2.1.165      node

在每一台的hosts添加解析记录

2.selinux

官方文档推荐开启SELINUX,否则会导致安装失败。

修改方式如下:

/etc/selinux/config

SELINUX=enforcing

SELINUXTYPE=targeted

3.在所有节点上生成密钥对

在master能免密码登录node1 ,node2

4.装依赖包

yum install -y update

重启后装包

yum install wget git net-tools bind-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct bash-completion.noarch bash-completion-extras.noarch python-passlib NetworkManager -y

5.安装docker

yum install docker-1.13.1 -y

6.配置docker使用的存储

echo DEVS=/dev/sdb > /etc/sysconfig/docker-storage-setup

echo VG=DOCKER >> /etc/sysconfig/docker-storage-setup

echo SETUP_LVM_THIN_POOL=yes >> /etc/sysconfig/docker-storage-setup

echo DATA_SIZE="100%FREE">> /etc/sysconfig/docker-storage-setup

rm -rf /var/lib/docker

wipefs --all /dev/sdb

docker-storage-setup

7.配置docker镜像加速

选择阿里云的镜像服务器进行加速,修改 /etc/docker/daemon.json 文件,如下所示:

[root@master ~]# more /etc/docker/daemon.json

{

"registry-mirrors": ["https://换成自己的地址.mirror.aliyuncs.com"]

}

配置完成之后,所有主机启动docker,命令如下:

systemctl enable docker

systemctl start docker

8.用tar.gz安装ansible, #3.9必须2.5版本

yum -y install epel-release

# Disable the EPEL repository globally so that is not accidentally used during later steps of the installation

sed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo

yum -y install pyOpenSSL

9.从github上下载openshift-ansible已经release的版本

wget https://github.com/openshift/openshift-ansible/archive/openshift-ansible-3.9.32-1.zip

下载完成之后,进行解压并重命为 openshift-ansible。

10.修改软件源

由于目前OpenShift-ansible还没有添加3.9的源,所以需要自行修改下,方法如下:

进行openshift-ansible/roles/openshift_repos/templates/ 复制一份 CentOS-OpenShift-Origin37.repo.j2 为 CentOS-OpenShift-Origin39.repo.j2。
修改CentOS-OpenShift-Origin39.repo.j2中的源修改为国内的,比如阿里云。
[centos-openshift-origin39]

name=CentOS OpenShift Origin

baseurl=http://mirrors.aliyun.com/centos/7/paas/x86_64/openshift-origin39/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

[centos-openshift-origin39-testing]

name=CentOS OpenShift Origin Testing

baseurl=http://buildlogs.centos.org/centos/7/paas/x86_64/openshift-origin39/

enabled={{ 1 if openshift_repos_enable_testing else 0 }}

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

[centos-openshift-origin39-debuginfo]

name=CentOS OpenShift Origin DebugInfo

baseurl=http://debuginfo.centos.org/centos/7/paas/x86_64/

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

[centos-openshift-origin39-source]

name=CentOS OpenShift Origin Source

baseurl=http://vault.centos.org/centos/7/paas/Source/openshift-origin39/

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

11.配置 ansible inventory 文件,保存到 /etc/ansible/inventory.ini文件中

# Create an OSEv3 group that contains the masters and nodes groups

[OSEv3:children]

#目前配置标准的三个角色

masters

nodes

etcd

# Set variables common for all OSEv3 hosts

[OSEv3:vars]

# SSH user, this user should allow ssh based auth without requiring a password

ansible_ssh_user=root

#使用origin社区版

openshift_deployment_type=origin

#指定安装版本

openshift_release=3.9

#指定默认域名,访问的时候需要使用该域名,没有dns服务器,需要手动添加本地hosts文件

openshift_master_default_subdomain=apps.192.168.40.161.nip.io

#禁止磁盘、内存和镜像检查

openshift_disable_check=disk_availability,docker_storage,memory_availability,docker_image_availability

#disk_availability:报错信息是推荐的master磁盘空间剩余量大于40GB。测试环境无法满足,跳过检测。

#memory_availability:报错信息是推荐的master内存为16GB,node内存为8GB,测试环境无法满足,跳过检测。

#docker_image_availability:报错信息是需要的几个镜像未找到,选择跳过,装完集群后,在使用的时候再自行下载。

#docker_storage:报错信息是推荐选择一块磁盘空间存储镜像,这里选择跳过。采用docker默认的方式存储镜像。

# uncomment the following to enable htpasswd authentication; defaults to DenyAllPasswordIdentityProvider

openshift_master_identity_providers=[{'name':'htpasswd_auth','login':'true','challenge':'true','kind':'HTPasswdPasswordIdentityProvider','filename':'/etc/origin/master/htpasswd'}]

#ntp时间同步

openshift_clock_enabled=true

#节点配额

openshift_node_kubelet_args={'pods-per-core': ['10']}

# host group for masters

[masters]

master openshift_schedulable=True

# host group for nodes, includes region info

[nodes]

master openshift_node_labels="{'region': 'infra'}"

node1 openshift_node_labels="{'region': 'infra', 'zone': 'default'}"

node2 openshift_node_labels="{'region': 'infra', 'zone': 'default'}"

[etcd]

master

12.

修改脚本问题

openshift-ansible/roles/lib_utils/filter_plugins/openshift_master.py 的第487行

注释掉红框中两行

13.开始安装

ansible-playbook -i /etc/ansible/inventory.ini openshift-ansible/playbooks/prerequisites.yml

ansible-playbook -i /etc/ansible/inventory.ini openshift-ansible/playbooks/deploy_cluster.yml

14.安装完成后,执行oc get nodes 检查当前集群的成员列表以及它们的状态。

oc get nodes

其实在安装完成之后 第二个节点和第三个节点的roles类型为空,需要将其打上compute标签,命令如下:

oc label node node1.192.168.40.162.nip.io node-role.kubernetes.io/compute=true

用ansible2.5在Centos7.2上部署OpenShift3.9(转)的更多相关文章

  1. CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3

    CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3,亲测~~ 因为可以创建不同的环境版本或虚拟环境 CentOS7服务器安装anaconda3后,CentOS7服务器开启后自动将a ...

  2. CentOS7系统上部署.net core程序

    一.准备工作 首先安装 xshell 和 xftp ,前者用于SSH连接Linux服务器,后者用于FTP上传下载文件. xshell和xftp个人使用是免费的,下载地址 之后分别输入用户名和密码登录主 ...

  3. CentOS7服务器上部署Oracle客户端

    环境 操作系统: CentOS7.2.1511 x86_64 准备安装包 在这个网站:https://www.oracle.com/technetwork/topics/linuxx86-64soft ...

  4. 在centos7.6上部署.netcore 3.0 web程序

    首先需要一个全新的centos系统. 第一步:按照微软官方文档配置.netcore环境: https://dotnet.microsoft.com/download/linux-package-man ...

  5. 在centos7.6上部署前后端分离项目Nginx反向代理vue.js2.6+Tornado5.1.1,使用supervisor统一管理服务

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_102 这一次使用vue.js+tornado的组合来部署前后端分离的web项目,vue.js不用说了,前端当红炸子鸡,泛用性非常广 ...

  6. CentOS7.3上部署简单的网站(Tomcat)

    本文转载自:沙师弟专栏 https://blog.csdn.net/u014597198/article/details/79649219 [ 感谢郭大大 ] 服务器版本:CentOS 7.3 64 ...

  7. Centos7.2 上部署 FastDFS_V5.05

    1.安装gcc (编译时需要) [root@localhost~]# yum -y install gcc gcc-c++ 2.安装libevent ,FastDFS依赖libevent库; [roo ...

  8. .net core3.1项目在centos7.6上部署经验

    0x00环境搭建 1)使用PuTTY远程登录你的centos 2)yum -y update 更新系统 3)安装宝塔面板: yum install -y wget && wget -O ...

  9. Centos7.6上部署Supervisor来监控和操作各类服务

    supervisor    是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统.它可以很方便的监听.启动.停止.重启一个 ...

随机推荐

  1. 【朴灵评注】JavaScript 运行机制详解:再谈Event Loop

    PS: 我先旁观下大师们的讨论,得多看书了~   别人说的:“看了一下不觉得评注对到哪里去,只有吹毛求疵之感. 比如同步异步介绍,本来就无大错:比如node图里面的OS operation,推敲一下就 ...

  2. Mac终端使用技巧 切换到其他路径和目录

    如果你想将当前 command line 会话切换到其他目录,需要用到三个命令:pwd,ls和cd. pwd的含义是“print working directory”,会显示当前目录的绝对路径. ls ...

  3. 自己编写jQuery插件 之 放大镜

    一. 效果图 二. 原理讲解 1. 用到了两张图片,一张小图,一张大图. 2. 小图用于直接在页面上显示,大图则用于放大镜内显示 3. 放大镜实际是一个div,而大图则是这个div的背景图 4. 小图 ...

  4. JavaScript、HTML、CSS学习—思维导图

  5. mac os idea的快捷键

    全局搜索:shift+command+f 搜索类:command+o 光标向前向后移动:command+option+(左/右) 删除一行: command+delete

  6. Ubuntu 添加删除用户 How to Add and Delete Users on Ubuntu 16.04

      Introduction One of the most basic tasks that you should know how to do on a fresh Linux server is ...

  7. JSPatch 可以让你用 JavaScript 书写原生 iOS APP

    简介   JSPatch 可以让你用 JavaScript 书写原生 iOS APP.只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本 ...

  8. requirejs中Shims使用说明

    RequireJS中如果使用AMD规范,在使用的过程中没有太多的问题,如果加载非AMD规范的JS文件,就需要使用Require中的shim. require.config({ paths:{ jque ...

  9. 如何将同一 VNET 下的虚拟机从经典部署模型迁移到 Azure Resource Manager

    本文内容 适用场景 解决方案 适用场景 用户拥有多个云服务但是在同一个 VNET 下,希望将这些虚拟机从经典部署模型(以下简称:ASM)迁移到 Azure Resource Manager(以下简称: ...

  10. 关于springMVC的一些xml配置

    ①springMVC必备jar包: commons-logging-1.1.3.jar spring-aop-4.0.0.RELEASE.jar spring-beans-4.0.0.RELEASE. ...