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請求和響應的負載。
本文來自雲棲社群合作伙伴“汪子熙”,瞭解相關資訊可以關注微信公眾號”汪子熙”。
相關文章
- require工作原理UI
- Mybatis工作原理MyBatis
- Nginx工作原理Nginx
- Handler 工作原理
- rman工作原理
- mydumper工作原理
- pr工作原理
- javascript引擎工作原理JavaScript
- ZStack基本工作原理
- Mirror 的工作原理
- Web Scraper工作原理Web
- HTTPS工作原理HTTP
- SpringMVC工作原理SpringMVC
- Spark的工作原理Spark
- Docker 工作原理分析Docker
- panic/recover工作原理
- 【MySQL】Mydumper工作原理MySql
- View的工作原理View
- HashMap的工作原理HashMap
- DHCP的工作原理
- tcmalloc的工作原理
- 相機工作原理
- undo的工作原理
- MySQL:索引工作原理MySql索引
- ORACLE RAC工作原理Oracle
- FTP工作原理(轉)FTP
- pr工作原理文件
- OAuth的工作原理OAuth
- SRAM電路工作原理
- YUM工作原理及使用
- ZooKeeper 工作、選舉 原理
- Rxjava工作原理總結RxJava
- Spring Session工作原理SpringSession
- Feign的工作原理
- OSPF的基本工作原理
- MRAM工作原理技術
- LiveData的工作原理LiveData
- 列印外掛工作原理