透過kubetcl proxy來進行REST API請求:
前面學過要執行命令到K8s Cluster,有幾個先決條件:
- 首先我們要知道K8s Cluster的位置(=Endpoint of API Server)
- 授權的憑證
(以上我們在前面有透過kubectl實現過(筆記40~44篇))
這邊準備改以REST API實現,首先我們透過指令確認Endpoint位置,執行:
kubectl config view
如上圖所示,kubectl背後已經帶有1.位置,2.憑證等等資訊
但是接下來我們打算透過REST用以下方式來獲取如同kubectl執行得到資訊:
- curl
- wget
- 直接透過瀏覽器瀏覽
而能夠實現上述的其中一種方式就是透過kubectl proxy:
以下就是透過kubectl指令建立kubectl proxy,執行:
kubectl proxy --port=8080 &
最基本的REST位置如下,執行:
curl http://localhost:8080/api
看起來可以查詢有哪些API的規格,執行:
curl http://localhost:8080/api/v1
查詢default nameSpace下的Services,執行:
curl http://localhost:8080/api/v1/namespaces/default/services
其他尚有許多可以執行的查詢curl可以嘗試
這都是經由剛剛建立的kubectl proxy實現的
並且實際上就是帶著kubectl本身定義的Endpoint與憑證來執行
當然不需要的時候,就應該要把這個kubectl proxy運行程序移除:
當再次執行curl時: