转自:http://www.cnblogs.com/zhangning/p/7251810.html

OpenShift 集群搭建指南

v1.0

  1. 搭建Hyper-v虚拟机或物理机

  2. 配置物理机静态IP,启用Hyper-v服务。
  3. 规划服务器节点

节点

说明

主机名

IP

Master

主控制节点

openshiftmaster.dynastech.com

192.168.30.95

Etcd

协调服务节点

openshiftetcd.dynastech.com

192.168.30.96

Node1

计算节点1

openshiftnode1.dynsatech.com

192.168.30.102

Node2

计算节点2

openshiftnode2.dynastech.com

192.168.30.98

Node3

计算节点3

openshiftnode3.dynastech.com

192.168.30.110

  1. 新建虚拟机master节点1个
  2. 新建Etcd节点1或3个(奇数个),负责分布式协调
  3. 新建Node节点若干,这里示例为3台
  4. 为每台虚拟机配置 旧版网络适配器

  1. 启动各个虚拟机安装Centos7系统

校验并安装centos linux 7系统

等待校验完成

  1. 选择安装语言

  1. 选择安装功能
    1. 软件选择

      (这里可以选择桌面版,如下图,服务器建议最小安装)

    2. 安装位置

  2. 配置网络和主机名

  3. 下一步,开始安装
  4. 配置root密码

  5. 启动其他节点执行同样的安装,配置不同的主机名和网络地址。
  6. 安装完毕

  7. 配置虚拟机基础环境

  8. 我本机是windows安装Xshell5.
  9. 配置域名解析
    1. 修改DNS服务器指向 或者b
    2. 修改节点本地/etc/hosts文件

      这里我为了测试方便,直接修改各个节点hosts文件

      用xshell5连接各个节点

      进入编辑vi /etc/hosts

      开始编辑按insert

      编辑完成esc,

      保存并退出:wq

      强制退出不保存!q

  10. 配置OpenShift 环境依赖软件

  11. 所有节点执行:

[root@所有节点 ~]# yum install -y lrzsz git wget net-tools bind-utils iptables-services bridge-utils bash-completion

[root@所有节点 ~]# yum install -y docker

  1. 检查安装情况
    1. iptables网络

      [root@openshiftectd ~]# systemctl start iptables

      [root@openshiftectd ~]# systemctl enable iptables

    2. docker 安装情况

  2. 软件安装完毕后,关闭虚拟机,为每个节点增加一块硬盘作为docker数据存储位置

  3. 增加硬盘完毕,重新启动所有节点,配置docker存储位置
    1. 查看硬盘信息

      命令: fdisk -l

      如图所示,添加的数据盘挂载在/dev/sdb目录下

    1. docker配置
      1. 编辑docker存储配置位置

      [root@所有节点 ~]# vi /etc/sysconfig/docker-storage-setup

    [root@所有节点 ~]# docker-storage-setup

    1. 每个节点修改docker镜像站点

    vi /etc/sysconfig/docker

    追加参数:

    --registry-mirror=https://docker.mirrors.ustc.edu.cn

    1. 增加docker开机启动服务

      systemctl enable docker

    2. 启动docker

      systemctl start docker

    3. 查看docker服务情况

      systemctl status docker

  1. 配置OpenShift Etcd节点

[root@openshiftectd ~]# yum install -y etcd

[root@openshiftectd ~]# systemctl enable etcd

[root@openshiftectd ~]# systemctl start etcd

  1. 配置OpenShift Master节点

  2. 安装EPEL仓库

    下载安装包

    http://mirrors.neusoft.edu.cn/epel/7/x86_64/e/

    上传到master

    [root@openshiftmaster ~]# yum install -y epel-release-7-10.noarch.rpm

  3. 安装ansible pyOpenSSL

    [root@openshiftmaster ~]# yum install -y --enablerepo=epel ansible pyOpenSSL

  4. 配置各个节点和master节点的互信
    1. 生成密钥

      [root@openshiftmaster ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''

    1. 配置ssh验证

    [root@openshiftmaster ~]# vi /etc/ssh/ssh_config

    StrictHostKeyChecking no

    UserKnownHostsFile /dev/null

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftmaster.dynastech.com

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftetcd.dynastech.com

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode1.dynastech.com

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode2.dynastech.com

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode3.dynastech.com

  5. 下载openshift-ansible源码

    [root@openshiftmaster ~]# git clone https://github.com/openshift/openshift-ansible

  6. 配置ansible
    1. 备份hosts

    1. 编辑hosts

    参考:https://docs.openshift.org/latest/install_config/install/advanced_install.html

    [root@openshiftmaster ~]# vi /etc/ansible/hosts

    添加如下内容

    # 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

    # If ansible_ssh_user is not root, ansible_become must be set to true

    #ansible_become=true

    openshift_deployment_type=origin

    # 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'}]

    # host group for masters

    [masters]

    openshiftmaster.dynastech.com

    # host group for etcd

    [etcd]

    openshiftetcd.dynastech.com

    # host group for nodes, includes region info

    [nodes]

    openshiftmaster.dynastech.com

    openshiftnode1.dynastech.com

    openshiftnode2.dynastech.com

    openshiftnode3.dynsatech.com

  7. 开始安装集群

  8. 运行openshift-ansible

[root@openshiftmaster ~]# ansible-playbook openshift-ansible/playbooks/byo/config.yml

等待运行完成,正常情况已经配置完成。

硬件配置太低会有如下错误:

解决此错误的方法是编辑/etc/ansible/hosts

加入如下配置,跳过检查项

由于是运行在pc机上的,硬件配置不够,我在这里同时将etcd合并到了master节点(即将ectd安装到master节点并启动),在配置hosts时,将etcd指向master节点,停用了node3,配置变成如下图所示

(如果参考者的运行环境,硬件配置可以,这里不必要删减节点)

再次运行

[root@openshiftmaster ~]# ansible-playbook openshift-ansible/playbooks/byo/config.yml

即成功通过安装。

安装成功的汇总信息如下图

  1. 检查运行情况

    [root@openshiftmaster ~]# oc get nodes

  2. 集群账户管理

    [root@openshiftmaster ~]# htpasswd -b /etc/origin/master/htpasswd admin admin

  3. 登录web站点

    配置本机hosts文件,将master节点ip指向其主机名

    用admin登录web站点

    至此OpenShift集群搭建完毕!开始探索吧………

    后记:

    此文档不详尽处:

    1. docker在linux中的配置
    2. 没有详细介绍多样化集群部署,想知道更多参考官方文档

      https://docs.openshift.org/latest/install_config/install/advanced_install.html

[转]OpenShift 集群搭建指南的更多相关文章

  1. 超详细的 Redis Cluster 官方集群搭建指南

    今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,rub ...

  2. Redis Cluster 官方集群搭建指南

    安装ruby环境因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,ruby安装需要指定openssl. 安装openssl $ wget https://www.open ...

  3. ZooKeeper集群-搭建指南

    第一步: 上传安装程序到Linux 这一步很简单就不在这过多说明了! 第二步: 在Linux上使用命令行安装 第三步: 修改配置文件 1.修改zoo.cfg文件 2.修改集群中各台主机的名称 1).如 ...

  4. k8s集群搭建指南

    一.简介 Ansible Docker Docker compose,docker swarm,docker machine Mesos,marathon Kubernetes(占据80%的市场) D ...

  5. 【转】kafka&zookeeper集群搭建指南

    [转自]:http://www.cnblogs.com/luotianshuai/p/5206662.html 待续...

  6. Redis 集群搭建详细指南

    先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...

  7. RabbitMQ高级指南:从配置、使用到高可用集群搭建

    本文大纲: 1. RabbitMQ简介 2. RabbitMQ安装与配置 3. C# 如何使用RabbitMQ 4. 几种Exchange模式 5. RPC 远程过程调用 6. RabbitMQ高可用 ...

  8. Spark —— 高可用集群搭建

    一.集群规划 这里搭建一个3节点的Spark集群,其中三台主机上均部署Worker服务.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002和hadoop00 ...

  9. mongodb集群搭建过程记录

    mongodb集群搭建花费比较长的时间,在此记录下过程,方便以后使用 一 软件环境 系统:ubuntu 18.04,mongodb 社区版4.2 https://docs.mongodb.com/ma ...

随机推荐

  1. 剑指offer第32题:把数组排成最小的数及关于list.sort()和sorted( Iterable object )函数的相关知识

     * 解题思路:  * 先将整型数组转换成字符数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关键就是制定比较规则.  * 排序规则如下:  * 若ab > ba 则 a & ...

  2. Python成长之路【第四篇】模块儿

    模块儿&包(* * * * *) 模块儿(modue)的概念 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多 ...

  3. 解决Exception in thread "main" java.nio.BufferOverflowException报错

    学习bytebuffer时,写了简单的demo报错: 错误的提示:Exception in thread "main" java.nio.BufferOverflowExcepti ...

  4. Linux 登陆配置读取顺序

    Linux用户在登陆到Linux服务器时,一些登陆的提示欢迎信息,以及特定的环境配置等等都按预先设定好的配置来生效.Linux中的这个shell环境会读取很多不同的配置文件来达成上述目的,同时还有登陆 ...

  5. Archlinux配置~小米笔记本Air 13.3英寸版本

    1 .zsh echo $ SHELL \\查看当前正在使用shell: pacman -S zsh zsh-syntax-highlighting git wget wget https://raw ...

  6. Log Filter分析

    1 log filter analysis分析 filter:与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中.但是与其他web应用程序组件不同的是,过滤器是&qu ...

  7. JavaScript语言里判断一个整数,属于哪个范围:大于0;小于0;等于0

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. Python全栈之路----常用模块----xml处理模块

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的 ...

  9. xcode打包真机测试

    背景:xocode版本低于真机版本 解决方法:

  10. Java基于opencv—归一化

    Opencv中提供了resize函数,可以把图像调整到相同大小 Java中resize函数的声明,内部调用的都是native方法 public static void resize(Mat src, ...