您好,登錄后才能下訂單哦!
這篇文章給大家介紹11種讓Kubernete更簡單易用的工具分別是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
導語
Kubernetes的復雜性讓很多人對它膽怯,這些工具可以幫你簡化應用程序定義、遷移集群、簡化云部署等。
很少有計算平臺(即使是功能強大且規模巨大的計算平臺)可以滿足所有需求。雖然Kubernetes開箱即用很有用,但是還遠未達成所有需求。您總是可以找到默認Kubernetes功能集不足的用例或需求(例如數據庫支持)或簡單地忽略(例如連續交付)。
這就是有那么廣泛的Kubernetes社區出現的原因所在,它為容器編排框架提供了附加組件,擴展和贈品。作者找到的11個頂級Kubernetes最佳同伴。有些可以補充任何Kubernetes集群,而另一些可以解決現有Kubernetes無法解決的特定需求。
1. Gatekeeper: Kubernetes策略控制
開放策略代理項目(OPA)提供了一種跨本地云應用程序堆棧創建策略的方法,從入口到服務網格組件再到Kubernetes。Gatekeeper提供了一種Kubernetes本地方法,可以自動在集群上實施OPA策略,并審核任何違反策略的事件或資源。所有這些都由Kubernetes中的一個相對較新的機制(準入控制器Webhooks)來處理,該機制會觸發對資源的更改。使用Gatekeeper,可以將OPA策略僅作為Kubernetes集群已定義狀態的另一部分進行維護,而無需經常守護。
2. Gravity:便攜式Kubernetes集群
如果要將應用程序部署到Kubernetes中,許多應用程序都有Helm圖表來指導和自動化該過程。為Kubernetes集群而生的Gravity,其容器注冊表以及正在運行的應用程序創建快照,這些快照稱為“應用程序捆綁包”。該捆綁包只是一個.tar文件,可以在Kubernetes運行的任何地方復制集群。
Gravity還可以確保目標基礎架構可以支持與源基礎設施相同的行為要求,并且可以確保目標上的Kubernetes運行時不會出現任何故障。企業版Gravity添加了安全功能,包括基于角色的訪問控制以及跨多個群集部署同步安全配置的功能。
最新的主要版本Gravity 7可以將Gravity映像部署到現有的 Kubernetes集群中,而無需使用該映像來拆分一個全新的集群。Gravity 7還可以部署到尚未運行Gravity定義的映像的群集中。另外,Gravity現在支持SELinux,并與Teleport SSH網關本地集成。
3. Kaniko:在Kubernetes集群中構建容器
大多數容器映像都建立在容器堆棧外部的系統上。但是有時,您可能想要在容器堆棧內執行構建過程 ,例如,在運行中的容器內或Kubernetes集群上的某個位置。
Kaniko在容器環境中執行容器構建,但無需依賴像Docker這樣的容器守護進程來完成工作。相反,Kaniko從基礎映像中提取文件系統,然后在提取的文件系統頂部的用戶空間中執行所有構建命令,并在每個命令之后拍攝文件系統的快照。請注意,Kaniko當前無法構建Windows容器。
4. Kubecost:運行Kubernetes的成本指標
大多數Kubernetes管理工具都集中在易用性,監視,對pod行為的洞察力等方面。但是,如何監控與運行Kubernetes相關的成本(如美元和美分)呢?Kubecost使用實時Kubernetes指標,以及從主要云提供商上運行的集群獲得的實際成本信息,來提供每個集群部署每月成本的儀表板視圖。內存,CPU,GPU和存儲的成本全部由Kubernetes組件(容器,吊艙,服務,部署等)劃分。
盡管當前僅限于AWS,但Kubecost還可以跟蹤“集群外”資源(例如Amazon S3存儲桶)的成本。成本數據甚至可以共享回Prometheus,因此您可以使用數據以編程方式更改集群行為。如果您只需要保留15天的日志,則可以免費使用Kubecost。對于更高級的功能,監視50個節點的價格為每月199美元起。
5. KubeDB:在Kubernetes中運行生產數據庫
在Kubernetes中一直很難優雅地運行數據庫。您會找到適用于MySQL,PostgreSQL,MongoDB和Redis之類的Kubernetes運算符,但仍有很多空白。而且,原生的Kubernetes功能集無法直接解決數據庫的許多特定問題。
KubeDB允許您創建自己的Kubernetes運算符來管理數據庫。運行備份,克隆,監視,快照和以聲明方式創建數據庫都是其中的一部分。請注意,支持的功能因數據庫而異。例如,群集可用于PostgreSQL,但不適用于MySQL。
6. Kube-monkey:Kubernetes的混亂猴子
對系統進行壓力測試的一種肯定的方法是隨機破壞東西。這就是Netflix的Chaos Monkey背后的理論, Chaos Monkey是一種混沌工程工具,可以隨機終止生產中運行的虛擬機和容器,以“鼓勵”開發人員構建更具彈性的系統。Kube-monkey是用于對Kubernetes集群進行壓力測試的相同基本思想的實現。它可以通過隨機殺死您專門指定的集群中的Pod來工作,并且可以進行微調以在特定的時間窗口內運行。
7. 適用于AWS的Kubernetes入口控制器
Kubernetes通過名為Ingress的服務為集群提供外部負載平衡和網絡服務。Amazon Web Services提供了負載平衡功能,但不會自動將這些服務耦合到Kubernetes的設施。適用于AWS的Kubernetes Ingress Controller彌補了這一差距。
適用于AWS的Kubernetes Ingress Controller自動管理集群中每個入口對象的AWS資源,為新的入口資源創建負載均衡器,并為已刪除的資源刪除負載均衡器。它使用AWS CloudFormation來確保群集狀態保持一致。它還支持CloudWatch Alarm配置,并自動管理群集中使用的其他元素,例如SSL證書和EC2 Auto Scaling組。
8. Kubespray:Kubernetes的自動部署
從裸機到主要的公共云,Kubespray可以自動在大多數環境中自動部署可生產的Kubernetes集群。它使用Ansible(可選的Vagrant)執行部署,并通過選擇網絡插件(例如Flannel,Calco,Weave等)以及在許多流行的Linux發行版中進行裸機安裝來創建高可用性集群。。
9. Skaffold:Kubernetes的迭代開發
Skaffold 是Google自己的Kubernetes工具之一,它是對Kubernetes應用程序進行連續部署的一種方式。當您對源代碼進行更改時,Skaffold會自動檢測到它們,觸發構建和部署過程,并在出現任何錯誤時發出警告。Skaffold完全在客戶端運行,因此幾乎沒有設置或維護負擔。它可以在現有的CI / CD管道中使用,并與一些外部構建工具(主要是Google自己的Bazel)集成。
10. Teresa:Kubernetes上的簡易PaaS
Teresa是一個應用程序部署系統,可在Kubernetes上作為簡單的PaaS運行。組成團隊的用戶可以部署和管理屬于他們的應用程序。這使受信任于給定應用程序的人可以更輕松地使用它,而不必處理Kubernetes及其所有復雜性。
11. Tilt:Kubernetes集群的流容器更新
由Windmill Engineering開發的Tilt監視對Dockerfile的更改,然后將這些更改增量部署到Kubernetes集群中的相應容器。本質上,Tilt允許開發人員僅通過更新Dockerfile即可實時更新活動集群。Tilt在集群內部執行構建;唯一推送的更改是源代碼。您甚至可以從Tilt狀態快照群集狀態和錯誤情況,以與團隊成員共享以進行調試。
關于11種讓Kubernete更簡單易用的工具分別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。