溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Kubernetes API server工作原理

發(fā)布時(shí)間:2020-08-19 06:18:36 來源:ITPUB博客 閱讀:173 作者:i042416 欄目:云計(jì)算

作為Kubernetes的使用者,每天用得最多的命令就是kubectl XXX了。

kubectl其實(shí)就是一個(gè)控制臺(tái),主要提供的功能:

1. 提供Kubernetes集群管理的REST API接口,包括認(rèn)證授權(quán)、數(shù)據(jù)校驗(yàn)以及集群狀態(tài)變更;

2. 提供其他模塊之間的數(shù)據(jù)交互和通信的樞紐(其他模塊通過API Server查詢或修改數(shù)據(jù),只有API Server才直接操作etcd)

也就是說,我們?cè)诮K端里輸入的每個(gè)kubectl命令,實(shí)際上都是一個(gè)發(fā)往Kubernetes API server的Restful API調(diào)用。

我們可以做個(gè)實(shí)驗(yàn):

kubectl get secret -v=9, 通過-v=9設(shè)置最高級(jí)別的trace:

從輸出觀察到為了取回所有的secret而進(jìn)行的API server的調(diào)用url: https://xxxx/api/v1/namespaces/ <own namespace>/secrets?limit=500:

Kubernetes API server工作原理

這個(gè)HTTP請(qǐng)求的格式在Kubernetes官網(wǎng)能查到。

Kubernetes API server工作原理

那么kubectl命令怎么知道應(yīng)該把請(qǐng)求發(fā)送到哪個(gè)API server呢?

運(yùn)行命令kubectl config view, 顯示內(nèi)容里的server:后面的地址就是API server的url。

Kubernetes API server工作原理

kubectl config view顯示的內(nèi)容來自配置文件: ~/.kube/config:

其實(shí)Kubernetes的kubectl工作原理和CloudFoundry的命令行工具cf一樣。

設(shè)置操作系統(tǒng)的環(huán)境變量CF_TRACE = true

Kubernetes API server工作原理

然后執(zhí)行任意的cf 命令,能看到這些命令實(shí)際上也是發(fā)送一個(gè)HTTP請(qǐng)求到SAP Cloud Platform的某個(gè)endpoint上。

例子:cf logs connectvity-demo-approuter --recent

然后就能看到為了完成這個(gè)命令所發(fā)送的HTTP請(qǐng)求和響應(yīng)的負(fù)載。

Kubernetes API server工作原理

要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":

Kubernetes API server工作原理


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI