Openshift cluster 搭建过程整理(含问题处理)
来源:互联网 发布:发送短信的软件 编辑:程序博客网 时间:2024/05/22 14:17
最近一直在研究公司的容器云发展方向,调研了国内外相关的PaaS产品,并进行了比较。其中Redhat的OpenShift作为了一项研究内容,通过阅读《开源容器云OpenShift构建基于企业应用云平台》的书,再加之在东家公司也开始用这个框架作为基础开发自己的容器云,所以就开始深入的研究了该框架。首先是要对其进行评估了,搭建是必不可少的环境,下面就整理了一下cluster的部署方式及其中遇到的一些问题,留做以后进行查看。
1、准备部署环境信息配置,该环境使用的VMware虚拟机作为基础,一个master,两个node。
注:master的分区一定要注意,var至少要在30G以上,同时挂载的扩展盘(sdb)不要进行格式化。
2、设置每个vm的hostname(master),node节点要做master的域名解析,否则会按照node节点时会报错
hostnamectl set-hostname master.example.comhostnamectl set-hostname node01.example.comhostnamectl set-hostname node02.example.com
3、配置resolv,由于是直接联网进行部署,所以需要配置nameserver
vi /etc/resolv.confnameserver 114.114.114.114
4、安装安装OpenShift依赖软件包(全部节点)
yum install -y vim wget git net-tools build-utils iptables-services bridge-utils bash-completion bind-utils kexec-tools sos psacct atomic
5、安装容器引擎docker(全部节点),本例中使用的是docker 1.12.6
yum install -y docker-1.12.6
6、配置docker后端存储(全部节点),如果配置错误,后续安装会遇到很多问题,后面会有记录。
vim /etc/sysconfig/docker-storage-setupDEVS=/dev/sdbVG=docker-vg
执行docker-storage-setup,如果报错,可以执行rm -r /var/lib/docker/*,在次执行docker-storage-setup,安装完毕之后可以docker info查看后端存储。
systemctl enable dockersystemctl start dockersystemctl is-active dockerdocker version
7、安装epel(master节点),因为OpenShift安装是以ansible为基础,要启用epel仓库。
yum install -y https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpmsed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo yum -y --enablerepo=epel install ansible pyOpenSSL
8、安装etcd(master节点),本次实验仅采用一个etcd,没有搭建集群
yum install -y etcdsystemctl enable etcdsystemctl start etcd
9、增加节点的域名解析(全部节点)
vim /etc/hosts192.168.6.98 master.example.com192.168.6.97 node01.example.com192.168.6.96 node02.example.com
9、在master上生产ssh秘钥
ssh-keygen -f /root/.ssh/id_rsa -N ''for host in master.example.com \node01.example.com \node02.example.com; \do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \done
10、更改Ansible的hosts配置t文件,Ansible的hosts配置文件也称为Ansible的Inventory,记录了Ansible需要操作的目标主机信息
mv /etc/ansible/hosts /etc/ansible/hosts.bak
vim /etc/ansible/hosts
# Create an OSEv3 group that contains the masters, nodes, and etcd groups[OSEv3:children]mastersnodesetcd# Set variables common for all OSEv3 hosts[OSEv3:vars]# SSH user, this user should allow ssh based auth without requiring a passwordansible_ssh_user=root# If ansible_ssh_user is not root, ansible_become must be set to true#ansible_become=trueopenshift_deployment_type=originopenshift_release=3.7.0openshift_disable_check=disk_availability,docker_storage,memory_availability,docker_image_availabilityopenshift_template_service_broker_namespaces=['openshift','myproject']# uncomment the following to enable htpasswd authentication; defaults to DenyAllPasswordIdentityProvideropenshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider', 'filename': '/etc/origin/master/htpasswd'}]# 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_schedulable=True openshift_node_labels="{'region': 'infra'}"node01.example.com openshift_node_labels="{'region': 'primary', 'zone': 'east'}"node02.example.com openshift_node_labels="{'region': 'primary', 'zone': 'west'}"
11、下载并安装ansible,直接到GitHub上下去源码,并切换3.7的分支进行执行安装
cd ~git clone https://github.com/openshift/openshift-ansible #下载代码cd openshift-ansible git checkout -b release-3.7 remotes/origin/release-3.7 #切换分支ansible-playbook ~/openshift-ansible/playbooks/byo/config.yml #执行安装
安装完毕之后可以执行oc get nodes查看cluster的列表和状态
后续配置待继续.....
遇到问题整理:
Q: Available disk space in\"/var\" (31.8 GB) is below minimum recommended (40.0 GB)
A: 系统var分区要大于40G
Q:Docker storage 配置报错
A:作为docker后端存储的设备(/dev/sdb)不能分区
Q:执行docker-storage-setup报错,
A:删除\rm -r /var/lib/docker/*重新执行
Q:/usr/bin/oc get node node02.example.com -o json -n default error from server(not found)或者FAILED-RETRY:verify that TSB is running 超时 或者TASK [openshift_manage_node : Wait for Node Registration]
A:到node上journalctl查看错误,检查是否配置master的域名解析
- Openshift cluster 搭建过程整理(含问题处理)
- 搭建spark cluster过程中遇到的网络问题
- openshift s2i 过程详解
- kafka 集群搭建过程及搭建问题处理
- redis 集群搭建过程及搭建问题处理
- Jenkins搭建过程中遇到的问题整理记录
- 整理:RAC搭建过程 201
- 阿里 otter搭建过程整理
- 搭建环境问题整理
- 【Database-cluster】mycat集群搭建过程中遇到的几个问题
- 问一个openshift的问题
- laravel5搭建过程问题
- openshift搭建registry-持久存储nfs
- Redis Cluster学习整理
- Redis Cluster理论整理
- adb编译过程问题整理
- 网站问题处理过程
- 问题的处理过程
- zTree在JAVA项目中的学习
- 【八中】字串距离
- 六、服务治理
- GridView设置Item的点击事件无效的解决方案
- 如何解决failed to push some refs to git
- Openshift cluster 搭建过程整理(含问题处理)
- 简单了解阿里云批量计算(下篇)
- R语言实战与金融大数据处理 十课 炼数成金学习推荐
- xx-net使用方法
- GUI入门路(MISC小工具)——基于wxPython的一次小尝试
- 基本模块--stream
- ios11以及iphonex适配
- Stanford机器学习---第九讲. 聚类
- Linux防火墙端口配置和ftp修改端口