rancher学习:rancher组成
一、rancher服務器架構
為了獲得最佳性能和安全性,我們建議為Rancher管理服務器使用專用的Kubernetes群集。不建議在此群集上運行用戶工作負載。部署Rancher之后,您可以創建或導入用于運行工作負載的群集
Docker安裝可用于開發和測試目的;沒有從單節點到高可用性安裝的遷移方案(建議一開始就使用kubernetes安裝)
Rancher服務器都應始終在與其管理的下游用戶群集分離的節點上運行。如果Rancher安裝在高可用性Kubernetes群集上,則應在與其管理的群集不同的群集上運行
如何通過Rancher的身份驗證代理來操縱Rancher啟動的Kubernetes集群和托管的Kubernetes集群
二、與下游用戶集群通信
身份驗證代理
1)默認情況下,Rancher會生成一個kubeconfig文件,其中包含用于通過Rancher服務器進行代理以連接到下游用戶群集上的Kubernetes API服務器的憑據。kubeconfig文件(kube_config_rancher-cluster.yml)包含對集群的完全訪問權限
2)身份驗證代理將所有Kubernetes API調用轉發到下游集群。它與本地身份驗證,Active Directory和GitHub等身份驗證服務集成。在每個Kubernetes API調用上,身份驗證代理都會對調用方進行身份驗證并設置適當的Kubernetes模擬標頭,然后再將調用轉發給Kubernetes主節點
集群控制器和集群代理
cluster Controller:
1)監視下游集群中的資源更改
2)使下游集群的當前狀態達到所需狀態
3)為群集和項目配置訪問控制策略
4)通過調用所需的Docker機器驅動程序和Kubernetes引擎(例如RKE和GKE)來配置群集
cluster agent:
1)連接到Rancher啟動的Kubernetes集群的Kubernetes API
2)管理每個集群中的工作負載,pod創建和部署
3)應用每個集群的全局策略中定義的角色和綁定
4)在集群和Rancher服務器之間(通過通往集群控制器的隧道)進行通信,以了解事件,統計信息,節點信息和運行狀況
注意:默認集群控制器將連接到集群代理。如果集群代理不可用,則集群控制器可以改為連接到節點代理
節點代理
1)如果群集代理(也稱為cattle-cluster-agent)不可用,則其中一個節點代理會創建一個到群集控制器的隧道,以與Rancher通信
2)節點代理(cattle-node-agent)使用daemonset部署,以確認在集群的每個節點都有部署
授權集群端點
1)授權的集群端點允許用戶連接到下游集群的Kubernetes API服務器,而不必通過Rancher身份驗證代理路由其請求(注意:授權的集群端點僅適用于Rancher啟動的Kubernetes集群。換句話說,它僅在Rancher 使用RKE設置群集的群集中有效。它不適用于導入的群集或托管的Kubernetes提供程序中的群集)
授權的使用場景:
1)在Rancher關閉時訪問下游用戶集群
2)在Rancher服務器和下游群集相距較遠的情況下減少延遲
3)kube-api-auth微服務用于提供授權集群端點用戶認證功能
4)創建授權認證時會在kubeconfig文件生成一個額外的上下文(生產中建議導出該文件,一邊在rancher故障時可以使用此文件進行訪問:該文件是在rancher管理節點或者說對應的下游節點?待確認)
三、重要文檔
集群進行升級或故障排除時需要以下文件來維護
rancher-cluster.yml:RKE集群配置文件。
kube_config_rancher-cluster.yml:集群的Kubeconfig文件,此文件包含用于完全訪問集群的憑據。如果Rancher出現故障,您可以使用此文件對Rancher啟動的Kubernetes集群進行身份驗證
rancher-cluster.rkestate:Kubernetes集群狀態文件。該文件包含用于完全訪問群集的憑據。注意:僅在使用RKE v0.2.0或更高版本時創建此狀態文件
總結
以上是生活随笔為你收集整理的rancher学习:rancher组成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Calico网络的原理、组网方式与使用
- 下一篇: arm浮点运算