2019-07-02-openshift origin 3.11 在线安装
采用单节点模式,在centos7.4安装openshift3.11社区版,环境需联网。 若离线安装,提前拉好源和镜像。
官方文档 https://docs.okd.io/3.11/install/host_preparation.html
配置环境
1. 系统配置
操作系统: centos 7.4 mini install,最小化安装 虚机配置: 2核 8G 网卡配置IP netmask gateway dns
2. 设置主机名及配置ssh免密
# 设置主机名
hostnamectl set-hostname origin311.localpd.com
# /etc/hosts 增加一行,把IP换成自己虚机的
172.16.160.13 origin311.localpd.com
# 配置ssh免密
ssh-keygen # 一路敲回车
ssh-copy-id origin311.localpd.com # 输入密码
ssh origin311.localpd.com hostname -i # 验证免密3. 更新yum源及设置selinux
注意此处不要用官方的epel源,那个ansible是2.8.0的,按照官方文档,ansible版本需不低于2.5.7,不支持2.8.0,此处自己添加ansible源,安装2.7.4
docker安装配置
1. docker 安装
yum install docker-1.13.1
Verify that version 1.13 was installed:
2. docker 独立存储配置,需要独立sdb磁盘,POC和测试环境忽略这步
停止docker服务
配置/etc/sysconfig/docker-storage-setup
初始化docker存储启动docker
最后通过docker info去查看存储相关的配置进行验证
注意点 如果此前这块盘被使用过,创建了pv,vg,lv,需依次删除lv、vg、pv,然后再使用fdisk删除sdb1分区,执行partprobe,最后再执行docker-storage-setup。 如果pv删了,vg删不掉,重启下系统。 在使用一块盘、分区、VG,lv默认使用的是所在VG的40%空间,这个要看具体 执行docker-storage-setup报错如下错误时,将WIPE_SIGNATURES=true追加至/etc/sysconfig/docker-storage-setup文件后。
ERROR: Found dos signature on device /dev/sdb at offset 0x1fe. Wipe signatures using wipefs or use WIPE_SIGNATURES=true and retry.
如果再次执行docker-storage-setup还会报如下错,删除/etc/sysconfig/docker-storage文件再次执行即可。
docker-storage-setup
3. 启动docker服务
修改docker配置 /etc/sysconfig/docker 替换之前的OPTIONS
openshift安装
1. 下载ansible 脚本
2. 准备ansible hosts文件
3. 执行安装脚本
确认部署结果
4. 部署FAQ,异常处理
部署报错 Install docker excluder - yum
TASK [openshift_excluder : Install docker excluder - yum] fatal: [node2.ocp311origin.com]: FAILED! => {"attempts": 3, "changed": false, "msg": "Failure talking to yum: 'ascii' codec can't encode characters in position 173-177: ordinal not in range(128)"}
这个报错,是因为脚本部署过程修改了/etc/resolv.conf 中nameserver,改成了本地IP,而dnsmasq未正常启动,不能访问外部域名,nameserver 被改成本地IP,这个是正常的,只要dnsmasq服务正常,就没有问题,之前的dns配置文件被移到了 /etc/dnsmasq.d/origin-upstream-dns.conf 查看dnsmasq服务发现报错信息,手动启动dnsmasq起不来,和dbus有关,可能是部署过程更新了dbus导致异常。
解决方法:重启dbus,然后重启dnsmasq并查看dnsmasq状态,还不行就重启操作系统。
部署报错 Wait for control plane pods to appear
TASK [openshift_control_plane : Wait for control plane pods to appear] ** Wednesday 29 May 2019 16:09:27 +0800 (0:00:00.098) 0:06:23.053 * FAILED - RETRYING: Wait for control plane pods to appear (60 retries left).
ansible版本问题,2.8.0 版本会卡在这地方,2.7.4正常,在github上官方有说明,不低于2.5.7,并且低于2.8.0 解决方法: 更换ansible版本,如果严格执行上述步骤,ansible版本应该是正确的,不会出现此问题 部署停留在Verify that the console is running
TASK [openshift_web_console : Verify that the console is running] *
Thursday 30 May 2019 14:04:12 +0800 (0:00:00.109) 0:04:22.223 **
Hosts: origin311.localpd.com
Play: OpenShift Metrics
Task: openshift_metrics : fail
Message: 'keytool' is unavailable. Please install java-1.8.0-openjdk-headless on the control node
Failure summary:
Hosts: origin311.localpd.com
Play: OpenShift Metrics
Task: generate htpasswd file for hawkular metrics
Message: This module requires the passlib Python library
解决方法: 因为装metrics需要 yum install java-1.8.0-openjdk-headless python-passlib
Last updated