部署主機安裝

名詞解釋

  • 部署主機 (Deploy Server):欲啟動安裝腳本執行環境之主機
  • 目標主機 (Target Server):欲安裝 Kubernetes 叢集之目標主機

系統要求

  • Linux 主機,需事先安裝 dockercontainerd + nerdctl 等容器執行環境
  • 腳本執行環境已經全面容器化,因此部署主機的作業系統可為 Ubuntu、Debian、RHEL,如希望萬無一失則建議採用與目標主機相同之系統
  • 由於套件與鏡像容量較大,建議硬碟空間需 > 100GB

部署主機將用來執行 Kubespray 的環境,建議專機專用避免受其他外部因素影響。

部署架構介紹

Koffline Container

koffline-container.jpg

Koffline Container 包含以下服務:

  • Kubespray: 安裝 Kubernetes 叢集的腳本
  • Distro Packages Repository: Linux Distro 所需之離線安裝套件
  • Container Registry: 叢集所需的 Container Image

測試叢集 (Testflight Cluster)

testflight-installation.png

此種部署架構讓目標主機連線至部署主機下載離線安裝所需之套件與鏡像,並透過部署主機執行 Kubespray 腳本安裝 Kubernetes 叢集

正式叢集 (Production Cluster)

prod-installation.png

Kubernetes 重啟時可能會嘗試重新下載鏡像,此種部署架構首先會在安裝前透過步驟將鏡像推送至 Container Registry 儲存
後續讓目標主機連線至部署主機下載離線安裝所需之套件,並從企業內部服務下載所需之鏡像

網路要求

  • 部署主機與目標主機之間網路需直接連通,不經過任何堡壘機

創建部署用帳號

需要在每台目標機器建立帳號以供 Kubespray 腳本用來安裝,且該帳號需滿足以下條件

  • 擁有 sudo 權限
  • 開啟能以 Public Key 登入

產生 SSH Public Key Pair

在部署主機上產生 RSA Key Pair

  if [[ ! -e ~/.ssh/id_rsa.pub && ! -e ~/.ssh/id_rsa ]]; then
  ssh-keygen -N "" -t rsa
fi
  

散佈 Public Key

把剛產生的 Public Key 安裝到所有目標主機上

  ssh-copy-id <deploy-account>@<target-server-IP>
  
Was this page helpful?