您好,登錄后才能下訂單哦!
本篇內容主要講解“Rancher 2.5中的API和Dashboard有什么作用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Rancher 2.5中的API和Dashboard有什么作用”吧!
Rancher 2.5之前的版本中,我們對原生的Kubernetes API做了一些封裝,以便適應我們的UI展示需求。這些封裝的好處就是,我們可以定義適用自身的數據結構,并且提供了一套可以單獨交互的API-UI,用戶可以使用它來模擬調用API。通常在Rancher UI的很多入口中,點擊“View API”或者在瀏覽器中訪問“https://<server-url>/v3”即可查看訪問。這些API本身基于Kubernetes CRD實現,封裝后形成了Rancher風格API。至于如何定義Rancher風格API,可以訪問此鏈接查看:
https://github.com/rancher/api-spec
當然,這種做法的劣勢顯而易見,從Rancher工程師和社區用戶的使用經驗看,主要有以下幾點:
擴展Rancher API非常復雜,只有深入閱讀Rancher代碼或者接受了一定培訓的開發人員才能做到。
Kubernetes API在不斷演變,Rancher API去兼容多個版本的Kubernetes API變得越來越困難。
Rancher API屏蔽了一些高級API參數,對于一些高級用戶,這非常不友好。
對于這些問題,我們在Rancher 2.4已經開始嘗試做一些改變,細心的小伙伴可能發現了Rancher 2.4的新型Dashboard,它背后使用的就是新風格的Rancher API。這套API的實現依靠一個相對獨立的組件steve,為了解決之前的API問題,steve做了以下改善工作:
完全沿用Rancher的API-UI模式,不破壞用戶的使用習慣。
兼容Kubernetes Native API,包括原生對象和CRD,最大程度保留其數據字段。
擴展API非常簡單,只要向Kubernetes注冊了CRD,steve通過內置controller來watch CRD資源變化,將其熱裝載加入steve API中。
Steve是一個較為獨立的組件,即使離開Rancher也依然能夠獨立運行。如果想要在二次開發Kubernetes,但是覺得原生API不友善,完全可以在上面啟用Steve風格的API。筆者做了一個小實驗,部署k3s并獨立安裝steve,可以非常方便得到一個友好的API。
k3s安裝過程較為簡單直接略過,steve的編譯直接參考Makefile/Dockerfile即可。成功編譯后,會在本地生成一個steve:latest
的鏡像,然后使用docker run -itd --net=host -v ${HOME}/.kube:/root/.kube steve:latest
啟動steve,我們就能夠獲得一個Kubernetes Native的Rancher API。訪問“https://<ip>:9443/v1”可以查看效果:
如今Kubernetes生態中,可接入的擴展組件越來越多,往往我們會在Kubernetes中安裝Prometheus、Istio、ArgoCD等各種程序,這些程序基本都會通過CRD來增強自己的服務能力。這就導致了集群中存在大量的CRD,并且越來越難以管理,于是很多經驗豐富的高級技術人員開始期望CRD的可視化管理,以避免Kubectl CLI操作的繁瑣。從這個需求出發,Rancher 2.5中集成的新Dashboard也更加Kubernetes Native化。
這一切都源于Steve API的能力,可以讓我們非常方便地間接使用Kubernetes API。在Rancher 2.4中,我們已經提供了這個功能的實驗版,相信很多用戶都已經試用。在Rancher 2.5中,這部分功能將會正式提供,這對于管理單個Kubernetes集群的高級技術人員將會非常友好。
新的Dashboard可以對Kubernetes原生資源和CRD擴展資源都進行可視化管理,在諸如Kubernetes原生資源的創建等表單上也會提供全面的參數設置,比Rancher 2.4時代的實驗性Dashboard更加成熟。整體的頁面風格也更加傾向簡潔,對于熟練使用Kubernetes的開發的人員會非常方便,同時也采用了Vue框架編寫,這對于國內用戶做二次開發也是一個大利好。
在Rancher 2.5中可以繼續使用docker run
方式試用體驗,與先前不同的是需要增加privileged參數:
$ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher:v2.5.1
啟動完成后,首次進入登錄頁,除了配置初始化密碼外,還要設置默認視圖。兩個視圖分別是:多集群管理和單集群管理,前者沿用Rancher2.4 UI并做增強,后者就是前文介紹的Kubernetes Native Dashboard。對于Native Dashboard,由于啟動時增加了privileged提權參數
,所以可以在容器中啟動一個完整的local集群,原先docker run
方式只能啟動的是kube-api,并非一個完整集群,現在通過新的Dashboard則可以完整管理它,在local集群上新建workload,當然我們相信你只會在開發測試時如此使用。
總的來說,期望單一集群管理的用戶,相比之前會節省很多部署資源。而期望使用多集群管理的用戶,Rancher 2.5依然會保留訪問入口,同時多集群管理的核心功能也將會有重大的提升,Rancher 2.5整體架構也更加靈活,將會非常方便用戶進行模塊化的擴展,這些內容我們在后續的文章中逐步交流。
到此,相信大家對“Rancher 2.5中的API和Dashboard有什么作用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。