On this page
部署架構 & 環境建置
部署主機環境建置與前置設定
除「創建部署用帳號」需在全部主機操作外,以下指令皆請於部署主機上進行操作
部署主機安裝
名詞解釋
- 部署主機 (Deploy Server):欲啟動安裝腳本執行環境之主機
- 目標主機 (Target Server):欲安裝 Kubernetes 叢集之目標主機
系統要求
- Linux 主機,需事先安裝
docker或containerd + nerdctl等容器執行環境 - 腳本執行環境已經全面容器化,因此部署主機的作業系統可為 Ubuntu、Debian、RHEL,如希望萬無一失則建議採用與目標主機相同之系統
- 由於套件與鏡像容量較大,建議硬碟空間需
> 100GB
部署主機將用來執行 Kubespray 的環境,建議專機專用避免受其他外部因素影響。
部署架構介紹
Koffline Container

Koffline Container 包含以下服務:
- Kubespray: 安裝 Kubernetes 叢集的腳本
- Distro Packages Repository: Linux Distro 所需之離線安裝套件
- Container Registry: 叢集所需的 Container Image
測試叢集 (Testflight Cluster)
安裝或更新版本前建議於測試叢集進行驗證測試,以確保新版本或設定不會影響到生產環境

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

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?