OpenShift 集群搭建指南

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. 所有节点执行:

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

[[email protected]所有节点 ~]# yum install -y docker

  1. 检查安装情况

    1. iptables网络

      [[email protected] ~]# systemctl start iptables

      [[email protected] ~]# systemctl enable iptables

    2. docker 安装情况

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

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

    1. 查看硬盘信息

      命令: fdisk -l

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

    1. docker配置

      1. 编辑docker存储配置位置

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

    [[email protected]所有节点 ~]# 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节点

[[email protected] ~]# yum install -y etcd

[[email protected] ~]# systemctl enable etcd

[[email protected] ~]# systemctl start etcd

  1. 配置OpenShift Master节点

  2. 安装EPEL仓库

    下载安装包

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

    上传到master

    [[email protected] ~]# yum install -y epel-release-7-10.noarch.rpm

  3. 安装ansible pyOpenSSL

    [[email protected] ~]# yum install -y --enablerepo=epel ansible pyOpenSSL

    ?

  4. 配置各个节点和master节点的互信

    1. 生成密钥

      [[email protected] ~]# ssh-keygen -f /root/.ssh/id_rsa -N ‘‘

    1. 配置ssh验证

    [[email protected] ~]# vi /etc/ssh/ssh_config

    StrictHostKeyChecking no

    UserKnownHostsFile /dev/null

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

    [[email protected] ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftetcd.dynastech.com

    [[email protected] ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode1.dynastech.com

    [[email protected] ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode2.dynastech.com

    [[email protected] ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode3.dynastech.com

  5. 下载openshift-ansible源码

    [[email protected] ~]# 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

    [[email protected] ~]# 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

[[email protected] ~]# ansible-playbook openshift-ansible/playbooks/byo/config.yml

?

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

?

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

?

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

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

?

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

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

再次运行

[[email protected] ~]# ansible-playbook openshift-ansible/playbooks/byo/config.yml

即成功通过安装。

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

  1. 检查运行情况

    [[email protected] ~]# oc get nodes

  2. 集群账户管理

    [[email protected] ~]# 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

时间: 2024-10-09 02:34:41

OpenShift 集群搭建指南的相关文章

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

今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,ruby安装需要指定openssl. 安装openssl $ wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz $ tar -zxvf openssl-1.0.2m.tar.gz $ cd openssl-1.0.2m $ ./config

Redis Cluster 官方集群搭建指南

安装ruby环境因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,ruby安装需要指定openssl. 安装openssl $ wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz $ tar -zxvf openssl-1.0.2m.tar.gz $ cd openssl-1.0.2m $ ./config --prefix=/usr/local/openssl $ ./config -t $ make

IPFS系列 集群搭建 三

本篇IPFS集群搭建指南教程距离上一篇IPFS教程已经过去一个多月了,本来在写完上一篇一两周之内就来写此篇文章.最近数字货币在谷底,顺便清理一些垃圾山寨.然后听一个朋友的介绍,说了一些区块链里的痛点,聊着聊着发现一个好的产品点子,就一股做劲去开发了,整体大概花了三周(不是工作日)大体把业务需求给实现了,目前在申请阿里云备案,应该不久可以给更多区块链数字货币界的小伙伴使用了,目前不便透露产品内容.好了,开始正题IPFS集群搭建. 一.多节点文件如何同步? 在IPFS多节点搭建文章中,我们实现了文件

Redis 集群搭建详细指南

先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司!为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛,「大」总有大的好.当然,如果你要有能力找一个胸大个子高就更完美了. Redis 集群简介 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存.Redis 在3.0版本前只支持单实例模式,虽然支持主从模式.哨兵模式部署来解决单点故障,但是现在互

redis3.0集群搭建

Redis集群搭建 redis cluster介绍 节点自动发现.集群容错slave选举.Cluster管理.集群配置管理. 集群中的每个Redis节点需要2个TCP连接端口,如6379端口用于Client连接,16379端口用于集群数据通信 集群采用Hash Slot方案,而不是一致性哈希,共16384个Hashslot.如果有3台机器,那么NodeA在0-5500,NodeB 在5501-11000,NodeC在11001-16384.这种设计下,添加,删除新Node比较方便. 由于Hash

rabbitmq集群搭建(centos6.5)

一:rabbitmq的安装: 参考:http://www.blogjava.net/hellxoul/archive/2014/06/25/415135.html http://blog.haohtml.com/archives/15249 说明:修改机器名字后再安装(为后面集群做准备) vi /etc/sysconfig/network 修改名字 vi /etc/hosts 修改地址映射表,如192.168.1.112   rabbitmq-node1.com rabbitmq-node1 #

linux 下heartbeat简单高可用集群搭建

Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.通过Heartbeat我们可以实现双机热备,以实现服务的持续性. linux下基于heartbeat的简单web服务的高可用集群搭建 首先规划好两台主机作为heartbeat的双机热备,命名为node1.lvni.cc(主) ;node2.lvni.cc, node1的eth0IP :192.168.157.148  Vip eth0:0:192.168.157.149 node2的eth0IP :19

mysql5.7 MGR集群搭建

mysql5.7 MGR集群搭建部署 此文章由队员(谆谆)拟写 此文章来自 乌龟运维 官网 wuguiyunwei.com QQ群 602183872 最近看了一下mysql5.7的MGR集群挺不错的,有单主和多主模式,于是乎搭建测试了一下效果还不错,我指的不错是搭建和维护方面都比较简单.网上绝大多数都是单主模式,当然我这里也是,为了加深印象,特意记录一下搭建过程,等以后再去尝试多主模式,相信大家现在数据库的瓶颈基本都是在写,读写分离虽然是一种可行的解决方案,但是如果数据量很大,写一样会有问题,

MySQL主从复制、读写分离、高可用集群搭建

MySQL主从复制.读写分离.高可用集群搭建  一.服务介绍   1.1 Keepalived     Keepalived,见名知意,即保持存活,其目的是解决单点故障,当一台服务器宕机或者故障时自动切换到其他的服务器中.Keepalived是基于VRRP协议实现的.VRRP协议是用于实现路由器冗余的协议,VRRP协议将两台或多台路由器设备虚拟成虚拟设备,可以对外提供虚拟路由器IP(一个或多个),即漂移IP(VIP). 1.2 ProxySQL ProxySQL是一个高性能,高可用性的MySQL