W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本文介紹了高可用(HA) K3s 集群的架構(gòu),以及它與單節(jié)點(diǎn)集群的不同之處,描述了如何在 K3s server 上注冊(cè) agent 節(jié)點(diǎn)。
K3s server 是運(yùn)行?k3s server
?命令的機(jī)器(裸機(jī)或虛擬機(jī)),而 K3s worker 節(jié)點(diǎn)是運(yùn)行?k3s agent
?命令的機(jī)器。
K3s 單節(jié)點(diǎn)集群的架構(gòu)如下圖所示,該集群有一個(gè)內(nèi)嵌 SQLite 數(shù)據(jù)庫(kù)的單節(jié)點(diǎn) K3s server。
在這種配置中,每個(gè) agent 節(jié)點(diǎn)都注冊(cè)到同一個(gè) server 節(jié)點(diǎn)。K3s 用戶可以通過(guò)調(diào)用 server 節(jié)點(diǎn)上的 K3s API 來(lái)操作 Kubernetes 資源。
單節(jié)點(diǎn)k3s server的架構(gòu)
雖然單節(jié)點(diǎn) k3s 集群可以滿足各種用例,但對(duì)于 Kubernetes control-plane 的正常運(yùn)行至關(guān)重要的環(huán)境,您可以在高可用配置中運(yùn)行 K3s。一個(gè)高可用 K3s 集群由以下幾個(gè)部分組成:
server
?節(jié)點(diǎn)將為 Kubernetes API 提供服務(wù)并運(yùn)行其他 control-plane 服務(wù)
external database
?外部數(shù)據(jù)庫(kù)作為數(shù)據(jù)存儲(chǔ)的媒介。K3s高可用架構(gòu)
在高可用 K3s server 配置中,每個(gè)節(jié)點(diǎn)還必須使用固定的注冊(cè)地址向 Kubernetes API 注冊(cè),注冊(cè)后,agent 節(jié)點(diǎn)直接與其中一個(gè) server 節(jié)點(diǎn)建立連接,如下圖所示:
Agent 節(jié)點(diǎn)用?k3s agent
?進(jìn)程發(fā)起的 websocket 連接注冊(cè),連接由作為代理進(jìn)程一部分運(yùn)行的客戶端負(fù)載均衡器維護(hù)。
Agent 將使用節(jié)點(diǎn)集群 secret 以及隨機(jī)生成的節(jié)點(diǎn)密碼向 k3s server 注冊(cè),密碼存儲(chǔ)在 ?/etc/rancher/node/password
?路徑下。K3s server 將把各個(gè)節(jié)點(diǎn)的密碼存儲(chǔ)為 Kubernetes secrets,隨后的任何嘗試都必須使用相同的密碼。節(jié)點(diǎn)密碼秘密存儲(chǔ)在?kube-system
?命名空間中,名稱(chēng)使用模板?<host>.node-password.k3s
?。
注意
- 在 K3s v1.20.2 之前,K3s server 將密碼存儲(chǔ)在?
/var/lib/rancher/k3s/server/cred/node-passwd
?的磁盤(pán)上。- 如果您刪除了 agent 的?
/etc/rancher/node
?目錄,則需要為該 agent 重新創(chuàng)建密碼文件,或者從 server 中刪除該條目。- 通過(guò)使用?
--with-node-id
?標(biāo)志啟動(dòng) K3s server 或 agent,可以將唯一的節(jié)點(diǎn) ID 附加到主機(jī)名中。
位于目錄路徑?/var/lib/rancher/k3s/server/manifests
? 的清單在構(gòu)建時(shí)被捆綁到 K3s 二進(jìn)制文件中,將由rancher/helm-controller在運(yùn)行時(shí)安裝。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: