把玩OpenShift系列(一)

把玩OpenShift系列(一)

OpenShift 是什么?我才懒得告诉你。

本节主要包含的内容是在OpenStack虚拟机上搭建OpenShift社区版okd(v3.11)

安装计划

由于是从0开始学习OpenShift的使用,所以部署的集群不包含高可用部分,部署的目的是体验一下OpenShift的功能。

系统与环境需要

硬件需求

这没什么好说的,配置尽量高就对了,别跟我提最低的配置,我不想听。我是不会在电脑上跑虚拟机的。

软件要求

操作系统我使用的是centos7.5,貌似OpenShift非社区版只能购买Redhat的商业操作系统才支持,滋滋。

需要注意官方文档上提到了这个集群需要一个DNS服务器,我折腾了半天,不会搭DNS服务器,这一块我就暂时放弃了,后面再研究这个,然后用的方案是修改hosts配合dnsmasq来实现。

使用的服务器及IP

主机名 IP
master.example.com 172.16.26.13
node1.example.com 172.16.26.10
infra-node1.example.com 172.16.26.17

配置Hosts

1
2
3
172.16.26.13    master.example.com
172.16.26.10 node1.example.com
172.16.26.17 infra-node1.example.com

需要注意的是除了在目标机器上配置Hosts,跳板机上也需要配置,并且配置跳板机(本地电脑)到服务器的免密登录

升级系统内核

过程略, 升级内核到最新,这一点官方文档中并没有提到,但是为了担心后面莫名的问题,特意升级到了5.1

安装Docker

文档指定了这个版本

1
yum install docker-1.13.1

Inventory File

准备

这个文件是指Ansible的配置文件。

怎么使用Ansible过程略过,在部署前需要对Ansible做入门学习最好。

官方的配置说明

内容有点太多,暂时没有看的欲望。

官方给了一个配置范例 ,按照这个配置稍微做一点修改就可以了。

最终我的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Create an OSEv3 group that contains the masters, nodes, and etcd 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 AllowAllPasswordIdentityProvider
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]


# host group for masters
[masters]
master.example.com

# host group for etcd
[etcd]
master.example.com

# host group for nodes, includes region info
[nodes]
master.example.com openshift_node_group_name='node-config-master'
node1.example.com openshift_node_group_name='node-config-compute'
infra-node1.example.com openshift_node_group_name='node-config-infra'

下载ansible的部署脚本

1
2
3
4
cd ~/openshift_install
git clone https://github.com/openshift/openshift-ansible
cd openshift-ansible
git checkout release-3.11

安装

安装过程分为2步, 第一步是预检查,第二步是部署,整个过程时间耗时不短,静静等待完成,过程还是很顺利的

1
2
3
4
cd ~/openshift_install
ansible-playbook [-i /path/to/inventory] playbooks/prerequisites.yml

ansible-playbook [-i /path/to/inventory] playbooks/deploy_cluster.yml

验证

  1. 验证节点的状态

    -w511

  2. 访问

    https://master.openshift.com:8443/console

    吐槽一下,页面做的真丑

总结

整个部署过程还是比较简单和顺利的,问题是部署完成好像存在一些问题。

疑惑

  1. 获取集群信息显示不健康

    -w932

    几个意思?后面有时间再来看这个问题,感觉问题可能出在证书上面。

  2. 集群服务ping不通

    -w684

    为什么会有这个疑惑呢?因为对比了k8s集群,svc是可以ping通的

参考

1. 官方文档: 红帽软件的文档写的真的好

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×