KubernetesAPIserver工作原理
作為Kubernetes的使用者,每天用得最多的命令就是kubectl XXX了。
kubectl其實就是一個控制檯,主要提供的功能:
1. 提供Kubernetes叢集管理的REST API介面,包括認證授權、資料校驗以及叢集狀態變更;
2. 提供其他模組之間的資料互動和通訊的樞紐(其他模組通過API Server查詢或修改資料,只有API Server才直接操作etcd)
也就是說,我們在終端裡輸入的每個kubectl命令,實際上都是一個發往Kubernetes API server的Restful API呼叫。
我們可以做個實驗:
kubectl get secret -v=9, 通過-v=9設定最高階別的trace:
從輸出觀察到為了取回所有的secret而進行的API server的呼叫url:https://xxxx/api/v1/namespaces/ namespace>/secrets?limit=500:
這個HTTP請求的格式在Kubernetes官網能查到。
那麼kubectl命令怎麼知道應該把請求傳送到哪個API server呢?
執行命令kubectl config view, 顯示內容裡的server:後面的地址就是API server的url。
kubectl config view顯示的內容來自配置檔案: ~/.kube/config:
其實Kubernetes的kubectl工作原理和CloudFoundry的命令列工具cf一樣。
設定作業系統的環境變數CF_TRACE = true
然後執行任意的cf 命令,能看到這些命令實際上也是傳送一個HTTP請求到SAP Cloud Platform的某個endpoint上。
例子:cf logs connectvity-demo-approuter –recent
然後就能看到為了完成這個命令所傳送的HTTP請求和響應的負載。
本文來自雲棲社群合作伙伴“汪子熙”,瞭解相關資訊可以關注微信公眾號”汪子熙”。
相關文章
- Mybatis工作原理MyBatis
- require工作原理UI
- HTTPS工作原理HTTP
- Nginx工作原理Nginx
- pr工作原理
- SpringMVC工作原理SpringMVC
- Mirror 的工作原理
- Web Scraper工作原理Web
- 【MySQL】Mydumper工作原理MySql
- LiveData的工作原理LiveData
- OAuth的工作原理OAuth
- Spring Session工作原理SpringSession
- javascript引擎工作原理JavaScript
- Feign的工作原理
- ZStack基本工作原理
- pr工作原理文件
- Docker 工作原理分析Docker
- Spark的工作原理Spark
- ZooKeeper 工作、選舉 原理
- SpringMVC工作原理詳解SpringMVC
- Kubernetes API server工作原理APIServer
- Rxjava工作原理總結RxJava
- YUM工作原理及使用
- Spark Streaming :基本工作原理Spark
- 路由器工作原理路由器
- SRAM電路工作原理
- Android View 的工作原理AndroidView
- HTTPS代理的工作原理HTTP
- SOCKS代理的工作原理
- OSPF的基本工作原理
- RxJs fromEvent 工作原理分析JS
- Hilt 工作原理 | MAD Skills
- 列印外掛工作原理
- MRAM工作原理技術
- 工作流引擎的工作原理與功能
- UAV MOF工作原理之Agent注入機制原理
- 深入淺出HTTPS工作原理HTTP
- 深度學習的工作原理深度學習