OpenShift - 環境搭建



本章我們將學習 OpenShift 的環境搭建。

系統要求

為了搭建企業級 OpenShift 環境,需要擁有一個有效的 Red Hat 賬戶。由於 OpenShift 基於 Kubernetes 主節點和工作節點架構,我們需要在不同的機器上分別搭建主節點和工作節點,其中一臺機器作為主節點,其他機器作為工作節點。為了搭建兩者,需要滿足最低系統要求。

主節點配置

以下是主節點配置的最低系統要求。

  • 一個基礎機器,可以是物理機、虛擬機器或雲環境中的任何一種。

  • 至少 Linux 7 及其所需軟體包。

  • 2 個 CPU 核心。

  • 至少 8 GB RAM。

  • 30 GB 內部硬碟空間。

工作節點配置

  • 與主節點相同的物理機或虛擬機器映象。
  • 機器上至少安裝 Linux 7。
  • 安裝 Docker,版本不低於 1.6。
  • 1 個 CPU 核心。
  • 8 GB RAM。
  • 15 GB 硬碟空間用於存放映象,15 GB 硬碟空間用於儲存映象。

OpenShift 搭建步驟

在下面的描述中,我們將搭建一個 OpenShift 實驗環境,之後可以擴充套件到更大的叢集。由於 OpenShift 需要主節點和工作節點,我們需要至少兩臺機器,可以是雲伺服器、物理機或虛擬機器。

步驟 1 - 首先在兩臺機器上安裝 Linux,最低版本應為 Linux 7。如果擁有有效的 Red Hat 訂閱,可以使用以下命令進行安裝。

# subscription-manager repos --disable = "*"

# subscription-manager repos --enable = "rhel-7-server-rpms"

# subscription-manager repos --enable = "rhel-7-server-extras-rpms"

# subscription-manager repos --enable = "rhel-7-server-optional-rpms"

# subscription-manager repos --enable = "rhel-7-server-ose-3.0-rpms"

# yum install wget git net-tools bind-utils iptables-services bridge-utils

# yum install wget git net-tools bind-utils iptables-services bridge-utils

# yum install python-virtualenv

# yum install gcc

# yum install httpd-tools

# yum install docker

# yum update

在兩臺機器上安裝完上述基本軟體包後,下一步是在各自的機器上安裝 Docker。

步驟 2 - 配置 Docker,使其僅允許在本地網路上進行不安全的通訊。為此,編輯 `/etc/sysconfig` 目錄下的 Docker 檔案。如果該檔案不存在,則需要手動建立。

# vi /etc/sysconfig/docker
OPTIONS = --selinux-enabled --insecure-registry 192.168.122.0/24

在主節點上配置 Docker 後,我們需要在兩臺機器之間建立免密碼通訊。為此,我們將使用公鑰和私鑰認證。

步驟 3 - 在主節點上生成金鑰,然後將 `id_rsa.pub` 金鑰複製到工作節點的授權金鑰檔案,可以使用以下命令完成。

# ssh-keygen

# ssh-copy-id -i .ssh/id_rsa.pub root@ose3-node.test.com

完成上述設定後,下一步是在主節點上安裝 OpenShift 版本 3。

步驟 4 - 在主節點上執行以下 curl 命令。

# sh <(curl -s https://install.openshift.com/ose)

以上命令將完成 OSV3 的安裝。下一步是在機器上配置 OpenShift V3。

如果無法直接從網際網路下載,則可以從 https://install.openshift.com/portable/oo-install-ose.tgz 下載為 tar 包,然後在本地主節點上執行安裝程式。

準備就緒後,我們需要開始在機器上實際配置 OSV3。此設定非常適用於測試實際生產環境,我們已準備好 LDAP 等其他內容。

步驟 5 - 在主節點上,配置 `/etc/openshift/master/master-config.yaml` 下面的程式碼。

# vi /etc/openshift/master/master-config.yaml
identityProviders:
- name: my_htpasswd_provider
challenge: true
login: true
provider:
apiVersion: v1
kind: HTPasswdPasswordIdentityProvider
file: /root/users.htpasswd
routingConfig:
subdomain: testing.com

接下來,建立一個標準使用者作為預設管理員。

# htpasswd -c /root/users.htpasswd admin

步驟 6 - 由於 OpenShift 使用 Docker 映象倉庫來配置映象,我們需要配置 Docker 映象倉庫。這用於在構建後建立和儲存 Docker 映象。

使用以下命令在 OpenShift 工作節點上建立一個目錄。

# mkdir /images

接下來,使用預設的管理員憑據登入主節點,這些憑據在設定映象倉庫時建立。

# oc login
Username: system:admin

切換到預設建立的專案。

# oc project default

步驟 7 - 建立一個 Docker 映象倉庫。

#echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"registry"}}' | oc create -f -

編輯使用者許可權。

#oc edit scc privileged
users:
- system:serviceaccount:openshift-infra:build-controller
- system:serviceaccount:default:registry

建立和編輯映象倉庫。

#oadm registry --service-account = registry --
config = /etc/openshift/master/admin.kubeconfig --
credentials = /etc/openshift/master/openshift-registry.kubeconfig --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}' --
mount-host = /images

步驟 8 - 建立預設路由。

預設情況下,OpenShift 使用 OpenVswitch 作為軟體網路。使用以下命令建立預設路由。這用於負載均衡和代理路由。路由器類似於 Docker 映象倉庫,也執行在映象倉庫中。

# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -

接下來,編輯使用者的許可權。

#oc edit scc privileged
users:
   - system:serviceaccount:openshift-infra:build-controller
   - system:serviceaccount:default:registry
   - system:serviceaccount:default:router

#oadm router router-1 --replicas = 1 --
credentials = '/etc/openshift/master/openshift-router.kubeconfig' --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}'

步驟 9 - 配置 DNS。

為了處理 URL 請求,OpenShift 需要一個可用的 DNS 環境。此 DNS 配置需要建立一個萬用字元,這需要建立一個指向路由器的 DNS 萬用字元。

# yum install bind-utils bind

# systemctl start named

# systemctl enable named

vi /etc/named.conf
options {listen-on port 53 { 10.123.55.111; };
forwarders {
   10.38.55.13;
   ;
};

zone "lab.com" IN {
   type master;
   file "/var/named/dynamic/test.com.zone";
   allow-update { none; };
};

步驟 10 - 最後一步是在 OpenShift V3 主節點上設定 github 伺服器,這是可選的。這可以使用以下命令序列輕鬆完成。

#yum install curl openssh-server

#systemctl enable sshd

# systemctl start sshd

# firewall-cmd --permanent --add-service = http

# systemctl reload firewalld

#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-

#yum install gitlab-ce

# gitlab-ctl reconfigure

完成上述設定後,您可以透過測試和部署應用程式進行驗證,我們將在後續章節中詳細瞭解。

廣告
© . All rights reserved.