OpenShift实战(一):OpenShift高级安装

dukuan 2018-04-03 原文

OpenShift实战(一):OpenShift高级安装

1.1 服务器基本信息

  本次安装采用一个master、5个node、3个etcd,node节点两块硬盘,60G磁盘用于docker storage,xxx改为自己的域名或主机名。

节点

功能

IP

内存

磁盘

CPU

                    master1.xxx.net

Master节点

192.168.10.110

16G

40G

8C

node1.xxx.net

Node节点

192.168.10.112

8G

40G/60G

4C

node2.xxx.net

Node节点

192.168.10.113

8G

40G/60G

4C

node3.xxx.net

Node节点

192.168.10.116

8G

40G/60G

4C

node4.xxx.net

Node节点

192.168.10.114

8G

40G/60G

4C

node5.xxx.net

Node节点

192.168.10.117

8G

40G/60G

4C

etcd1.xxx.net

etcd

192.168.10.109

4G

40G

2C

etcd2.xxx.net

etcd

192.168.10.111

4G

40G

2C

etcd3.xxx.net

etcd

192.168.10.115

4G

40G

2C

1.2 基本配置

  所有节点hosts文件配置

  [root@openshift-master1 ~]# cat /etc/hosts

  192.168.10.110 master1.xxx.net

  192.168.10.112 node1.xxx.net

  192.168.10.113 node2.xxx.net 

  192.168.10.116 node3.xxx.net 

  192.168.10.114 node4.xxx.net

  192.168.10.117 node5.xxx.net 

  192.168.10.109 etcd1.xxx.net

  192.168.10.111 etcd2.xxx.net

  192.168.10.115 etcd3.xxx.net

 

  Master1节点SSH互信

  [root@master1 ~]# ssh-keygen -t rsa

  Generating public/private rsa key pair.

  Enter file in which to save the key (/root/.ssh/id_rsa):

  Created directory ‘/root/.ssh’.

  Enter passphrase (empty for no passphrase):

  Enter same passphrase again:

  Your identification has been saved in /root/.ssh/id_rsa.

  Your public key has been saved in /root/.ssh/id_rsa.pub.

  The key fingerprint is:

  SHA256:yFOKV/QRdQoxQ12uW8v0UWmpLcrxDQo8VNyVEuRWHlE root@master1.xxx.net

  The key’s randomart image is:

  +—[RSA 2048]—-+

  |        ..X*++==E|

  |       . ..*o*o.+|

  |        o.. .oo=.|

  |     o =o   ..+ .|

  |    . * S+ ..+oo |

  |     . .  + ==+o.|

  |           +..o..|

  |                 |

  |                 |

  +—-[SHA256]—–+

 

  for i in `cat /etc/hosts | grep -v openshift | grep xxx.net | awk ‘{print $2}’`;do ssh-copy-id -i .ssh/id_rsa.pub $i;done

 

  所有节点安装基本环境

  yum install wget git net-tools bind-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct vim ntpdate httpd-tools -y

 

  所有节点更改时区并同步时间

  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  ntpdate cn.ntp.org.cn

  yum update

  reboot

  yum install docker-1.13.1 -y

  备注:docker可安装docker-ce 

 

  所有节点激活网络

  nmcli con show

  nmcli con up ens160

  nmcli con mod ens160 connection.autoconnect yes

  systemctl restart NetworkManager

 

  所有Node节点更改/etc/sysconfig/docker-storage-setup如下:

  DEVS=/dev/sdb

  VG=docker-vg    

  所有Node节点执行docker-storage-setup

  [root@openshift-node1 ~]# docker-storage-setup  

    WARNING: Device for PV 28oz2p-ZKrx-gSc2-k6Tg-E49Y-MK4A-YcQq7h not found or rejected by a filter.

    WARNING: Device for PV 28oz2p-ZKrx-gSc2-k6Tg-E49Y-MK4A-YcQq7h not found or rejected by a filter.

    INFO: Device node /dev/sdb1 exists.

    WARNING: Device for PV 28oz2p-ZKrx-gSc2-k6Tg-E49Y-MK4A-YcQq7h not found or rejected by a filter.

    Physical volume “/dev/sdb1” successfully created.

    WARNING: Device for PV 28oz2p-ZKrx-gSc2-k6Tg-E49Y-MK4A-YcQq7h not found or rejected by a filter.

    Volume group “docker-vg” successfully created

    WARNING: Device for PV 28oz2p-ZKrx-gSc2-k6Tg-E49Y-MK4A-YcQq7h not found or rejected by a filter.

    Using default stripesize 64.00 KiB.

    Rounding up size to full physical extent 84.00 MiB

    Thin pool volume with chunk size 512.00 KiB can address at most 126.50 TiB of data.

    Logical volume “docker-pool” created.

    Logical volume docker-vg/docker-pool changed.

 

  所有节点更改docker仓库地址

  cat /etc/sysconfig/docker

  # /etc/sysconfig/docker

  # Modify these options if you want to change the way the docker daemon runs

  # OPTIONS=’–selinux-enabled –log-driver=journald –signature-verification=false’

  OPTIONS=’–selinux-enabled –log-driver=journald –registry-mirror=https://docker.mirrors.ustc.edu.cn’

 

  Master节点更改epel源,并安装ansible

  yum -y install https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

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

  yum -y –enablerepo=epel install ansible pyOpenSSL

  

1.3 etcd集群安装

  安装etcd集群(按需安装,不与openshift在同一集群)

  所有节点关闭firewalld

  [root@etcd1 ~]# systemctl stop firewalld

  [root@etcd1 ~]# systemctl disable firewalld

  Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

  Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

 

       所有etcd节点开启iptables

  [root@etcd1 ~]# systemctl start iptables

  [root@etcd1 ~]# systemctl enable iptables

  Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service

 

  所有etcd节点安装etcd,OpenShift高级安装模式无需自行配置etcd

  yum install etcd -y

 

1.4 OpenShift高级安装

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

  在master1节点

  [root@master1 ~]# cat /etc/ansible/hosts

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

  [OSEv3:children]

  masters

  nodes

  etcd

  #lb

  # 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

  ansible_become=yes

  debug_level=2

  openshift_deployment_type=origin

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

  #ansible_become=true

  openshift_repos_enable_testing=true

  openshift_enable_service_catalog=false

  template_service_broker_install=false

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

  openshift_disable_check=disk_availability,docker_storage,memory_availability,docker_image_availability

  # config for metrics

  openshift_release=3.6.1

  openshift_clock_enabled=true

  #openshift_master_cluster_method=native

  #openshift_master_cluster_hostname=openshift.xxx.net

  #openshift_master_cluster_public_hostname=openshift.xxx.net

  #openshift_node_kubelet_args={‘pods-per-core’: [’10’], ‘max-pods’: [‘250’], ‘image-gc-high-threshold’: [’90’], ‘image-gc-low-threshold’: [’80’]}

  # host group for masters

  [masters]

  master1.xxx.net

  #master2.xxx.net

  # host group for lb

  #[lb]

  #lb.xxx.net

  # host group for etcd

  [etcd]

  etcd3.xxx.net

  etcd5.xxx.net

  etcd4.xxx.net

  # host group for nodes, includes region info

  [nodes]

  master1.xxx.net

  #master2.xxx.net

  node1.xxx.net

  node2.xxx.net openshift_node_labels=”{‘region’: ‘infra’, ‘zone’: ‘default’}”

  node3.xxx.net openshift_node_labels=”{‘region’: ‘infra’, ‘zone’: ‘default’}”

  node4.xxx.net

  node5.xxx.net openshift_node_labels=”{‘region’: ‘infra’, ‘zone’: ‘default’}”

  下载openshift-ansible:

  wget https://github.com/openshift/openshift-ansible/archive/openshift-ansible-3.6.173.0.104-1.tar.gz

  解压

  执行安装:

  ansible-playbook -i /etc/ansible/hosts openshift-ansible-openshift-ansible-3.6.173.0.104-1/playbooks/byo/config.yml

  安装成功如下:

  

 

1.5 验证安装 

  Master1节点上验证node

  [root@master1 ~]# oc get nodes

  NAME                        STATUS                     AGE       VERSION

  master1.xxx.net   Ready,SchedulingDisabled   38m       v1.6.1+5115d708d7

  node1.xxx.net     Ready                      38m       v1.6.1+5115d708d7

  node2.xxx.net     Ready                      38m       v1.6.1+5115d708d7

  node3.xxx.net     Ready                      38m       v1.6.1+5115d708d7

  node4.xxx.net     Ready                      38m       v1.6.1+5115d708d7

  node5.xxx.net     Ready                      38m       v1.6.1+5115d708d7

  Master1节点上验证etcd

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

  [root@master1 ~]# etcdctl -C     https://etcd1.xxx.net:2379,https://etcd3.xxx.net:2379,https://etcd2.xxx.net:2379     –ca-file=/etc/origin/master/master.etcd-ca.crt     –cert-file=/etc/origin/master/master.etcd-client.crt     –key-file=/etc/origin/master/master.etcd-client.key cluster-health

  member 17c82e7e21b639e7 is healthy: got healthy result from https://192.168.10.109:2379

  member 3bd39337b17b1a4e is healthy: got healthy result from https://192.168.10.111:2379

  member 62cacf31d21cfcd4 is healthy: got healthy result from https://192.168.10.115:2379

  cluster is healthy

  [root@master1 ~]# etcdctl -C     https://etcd1.xxx.net:2379,https://etcd3.xxx.net:2379,https://etcd2.xxx.net:2379     –ca-file=/etc/origin/master/master.etcd-ca.crt     –cert-file=/etc/origin/master/master.etcd-client.crt     –key-  file=/etc/origin/master/master.etcd-client.key member list

  17c82e7e21b639e7: name=etcd1.xxx.net peerURLs=https://192.168.10.109:2380 clientURLs=https://192.168.10.109:2379 isLeader=false

  3bd39337b17b1a4e: name=etcd2.xxx.net peerURLs=https://192.168.10.111:2380 clientURLs=https://192.168.10.111:2379 isLeader=false

  62cacf31d21cfcd4: name=etcd3.xxx.net peerURLs=https://192.168.10.115:2380 clientURLs=https://192.168.10.115:2379 isLeader=true

1.6 访问控制台

  高级安装模式下会安装router(安装在infra节点上)、registry、console

  创建控制台账号Master节点

  htpasswd -b /etc/origin/master/htpasswd dev dev2018

  登录控制台:https://master1.xxx.net:8443

  此地址需要解析到master主机上

  

  搭建完成

 

发表于 2018-04-03 23:01 杜先生的博客 阅读() 评论() 编辑 收藏

 

版权声明:本文为dukuan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dukuan/p/8711717.html

OpenShift实战(一):OpenShift高级安装的更多相关文章

  1. OpenShift实战(二):OpenShift节点扩容

    OpenShift实战(二):OpenShift节点扩容 1、新增节点信息   增加节点如下,请将xxx改为自 […]...

  2. OpenShift实战(五):OpenShift容器监控Metrics

    OpenShift实战(五):OpenShift容器监控Metrics 1、创建持久化metric pv卷 [ […]...

  3. 007.OpenShift管理应用部署

    一 REPLICATION CONTROLLERS 1.1 RC概述 RC确保pod指定数量的副本一直运行。如 […]...

  4. 008.OpenShift Metric应用

    一 METRICS子系统组件 1.1 metric架构介绍 OpenShift metric子系统支持捕获和长 […]...

  5. Openshift 4.4 静态 IP 离线安装系列:准备离线资源

    原文链接:https://fuckcloudnative.io/posts/openshift4.4-inst […]...

  6. OpenShift实战(六):OpenShift日志监控EFK

    OpenShift实战(六):OpenShift日志监控EFK 1、镜像下载   为了防止安装过程中由于镜像下 […]...

  7. 001.OpenShift介绍

    一 OpenShift特性 1.1 OpenShift概述 Red Hat OpenShijft Contai […]...

  8. 004.OpenShift命令及故障排查

    一 CLI访问OpenShift资源 1.1 资源操作 OCP将OpenShift集群中的为由主节点管理的对象 […]...

随机推荐

  1. 【思维题 欧拉图】loj#10106. 单词游戏

    巧妙的模型转化 题目描述 来自 ICPC CERC 1999/2000,有改动。 有 NNN 个盘子,每个盘子 […]...

  2. Docker: 企业级镜像仓库Harbor的使用 – 梅梅~

    Docker: 企业级镜像仓库Harbor的使用 上一节,演示了Harbor的安装部署 这次我们来讲解 Har […]...

  3. 服务器备份百度云 ——————————————–linux下——————————————– http://jingyan.baidu.com/article/455a9950ad95afa166277897.htmlhttp://www.freehao123.com/baiduyun-linux-vps/http://blog.sina.com.cn/s/blog_7

    建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于 […]...

  4. 强化学习在美团“猜你喜欢”的实践

    强化学习在美团“猜你喜欢”的实践 在“猜你喜欢“展位中,用户可以通过翻页来实现与推荐系统的多轮交互,此过程中推 […]...

  5. 用Chrome在电脑上模拟微信浏览器

    1、先了解安卓微信和Ios微信的UA(User agent:用户代理) 安卓微信UA: mozilla/5.0 […]...

  6. Excel设置字体,程序无响应的解决方法 – 晴空

    Excel设置字体,程序无响应的解决方法 最近发现打开Excel文件,修改文字颜色,Excel就无响应了。不仅 […]...

  7. IdentityServer4是什么

    1 什么是IdentityServer4? IdentityServer4是用于ASP.NET Core的Op […]...

  8. git中的merge与rebase

    之前一直对git的merge与rebase很困惑,而且一般也只使用merge而不是使用rebase。今天受高人 […]...

展开目录

目录导航