安裝 OpenShift 3.11

若您正在嘗試安裝 OpenShift 3.11 失敗了很多次,恭喜你!終於找到這篇可以用的文章。

使用 Ansible 搭配 OpenShift-Ansible 可以全自動裝到好。這是筆者在 Fedora 28/29 上面安裝 Openshift-ansible 的步驟,
如果你在安裝使用 OpenShift 上有問題,歡迎一同討論 (意思就是我不一定能 100% 的解決你的問題 >”<“)。

來信指教:hi[小老鼠]okd.guide

安裝前的準備

如果你是正式安裝,您需要參考一下官方的文件,有一些硬體需求與架構要注意,如果是作一些進階的練習,可以參考一下 安裝前準備 的文章。

筆者是在 VirtualBox 安裝完 Fedora 28/29 後,沒有任何調整任何東西的情況下,就直接開始下列的安裝。

安裝遠端的機器

如果你要安裝的機器是遠端,並且打算使用 Ansible 來安裝,請記得完成 ssh 金鑰的複製,先執行金鑰產生:

# ssh-keygen

把金鑰複製到每一台機器上:

# for host in master.example.com \
master.example.com \ 
node1.example.com \  
node2.example.com; \ 
do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \
done

軟體相依

如果你的 Ansilbe 是 2.7 以上的版本,請不要安裝 (請將安裝範例中的 Ansible 刪除,並依照安裝前準備的章節安裝 Ansible 2.6),請先安裝 Openshift-ansible 所需要的套件

# dnf install -y pyOpenSSL python-cryptography python-lxml

底下這個是我發現需要安裝的(官網沒寫)。

# dnf install python3-libsemanage

安裝在 RHEL 7 的系統上

如果你是在 RHEL 7 的機器上安裝,可以參考下列文章,但是實際上我沒有測試過,因為我沒有 RHEL 7,以下文章是參考官網寫的。

安裝所需套件,並請重新開機:

# yum install wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct
# yum update
# reboot

如果要使用容器化的安裝模式,請安裝:

# yum install atomic

如果要使用 RPM 的方式安裝,請安裝 epel 套件,這樣可以讓你的 yum 使用比較新的來源,但是我們只需要其中的 Ansible 與 pyOpenSSL,所以我們先安裝這個來源,然後關閉這整個來源,再取其中的兩個套件,先安裝 epel 套件:

# yum -y install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

關閉整個來源:

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

只取 epel 其中的套件:

# yum -y --enablerepo=epel install ansible pyOpenSSL

使用 Openshift-ansible 安裝方式

透過 Ansible 來安裝 OpenShift,可以 clone Openshift-ansible 這個專案即可:

# git clone https://github.com/openshift/openshift-ansible
# cd openshift-ansible

最後你需要設定 inventory 內的一些設定,一定要設定這些值,不然安裝不會過 >”<,這些設定我測試了將近 4 個月的時間,終於完成安裝,
那因為我們是安裝在本機,所以是使用 inventory/hosts.localhost 這個檔來修改:

$ vi inventory/hosts.localhost

# 如果你是 Fedora 系統,請取消下列的註解
ansible_python_interpreter=/usr/bin/python3
# 指定安裝的 OpenShift 版本
openshift_release="3.11"
# 增加 Openshift 的安裝來源
openshift_additional_repos=[{'id': 'centos-okd-ci', 'name': 'centos-okd-ci', 'baseurl' :'https://rpms.svc.ci.openshift.org/openshift-origin-v3.11', 'gpgcheck' :'0', 'enabled' :'1'}] 
# 跳過 docker 映像檔的檢查
openshift_disable_check=docker_image_availability

接者請執行下列命列,執行的時間會很久,但請不要用 nohup 執行

# sudo ansible-playbook -i inventory/hosts.localhost playbooks/prerequisites.yml
# sudo ansible-playbook -i inventory/hosts.localhost playbooks/deploy_cluster.yml

安裝完成後會看到如下畫面:

openshift.png

這是在 Fedora 28 上面安裝好的 OKD,後面的終端安裝完成後所抓下來的 Docker 映像檔,一堆:

openshift-2.jpg

筆者使用的是 VirtualBox,切了 1 CPU + 8G + 80G硬碟 + 橋接網路 ,但我後來發現可能需要多一點 CPU & RAM,因為這樣的規格跑起來超級卡,而且系統的 TOP(見鬼了):

openshift-3.jpg

清除 Ansible 暫存檔

如果你在多次執行 ansible-playbook 之後,發現某些值一直使用舊的,你可以清除 Ansible 的暫存檔:

# rm -rf ~/ansible
# rm -rf ~/.ansible
# rm -rf /etc/ansible/facts.d/*  (目標機器,如果是本機就刪除本機的目錄)
文章資訊
slug:install-okd
title:如何在 Fedora 28/29 安裝 OpenShift 3.11(OKD)
tags:install,openshift,okd
categories:openshift
thumbnail:imagesopenshift-2.jpg
最後修改日期: 2019-02-23

作者