Kubernetes 的出現(xiàn)不僅主宰了容器編排的市場(chǎng),也進(jìn)化了過(guò)去的運(yùn)維方式,不僅將開(kāi)發(fā)與運(yùn)維之間邊界變得更加模糊,而且讓 DevOps 這一角色變得更加清晰。它是目前可用的很流行的容器解決方案之一。
每個(gè)軟件工程師都能通過(guò) Kubernetes 來(lái)定義服務(wù)之間的拓?fù)潢P(guān)系、線上的節(jié)點(diǎn)個(gè)數(shù)、資源使用量并且能夠快速實(shí)現(xiàn)水平擴(kuò)容、藍(lán)綠部署等在過(guò)去復(fù)雜的運(yùn)維操作。以下的一系列工具,可以助你充分運(yùn)用Kubernetes。
集群部署工具
1、Amazon EKS
Amazon Elastic Container Service是一個(gè)Kubernetes DevOps工具,它允許用戶管理和擴(kuò)展他們的容器化應(yīng)用程序,并使用Kubernetes簡(jiǎn)化部署。當(dāng)你需要一個(gè)足夠安全、足夠穩(wěn)定的 Kubernetes 服務(wù), 用盡可能少的精力去維護(hù)基礎(chǔ)設(shè)施,希望將更多的精力投放在業(yè)務(wù)的研發(fā)上時(shí),Amazon EKS 就會(huì)成為一個(gè)值得你選擇的選項(xiàng)。Amazon EKS具有靈活的布局并減少了維護(hù)開(kāi)銷(xiāo)。
2、Kubespray
KubeSpray是一個(gè)集群生命周期管理器,可以幫助部署可用于生產(chǎn)的Kubernetes集群。它使用ansible-playbook來(lái)自動(dòng)化Kubernetes集群配置。主要功能包括基于Ansible,高度可用,跨平臺(tái);流行的云提供商集成甚至是裸機(jī),多種配置選項(xiàng),多平臺(tái)CI/CD等等。因?yàn)镵ubespray擁有一個(gè)開(kāi)放的開(kāi)發(fā)模型,易于使用,大大降低了編排集群的難度,任何人都可以很容易地學(xué)習(xí)如何使用Kubespray。
3、Conjure-up
Conjure-up易于使用,允許用戶以最少的問(wèn)題部署他們的應(yīng)用程序。支持本地主機(jī)部署、AWS、bare metal、Azure、VMware、Joynet和OpenStack。
監(jiān)控工具
4、Kubewatch
Kubewatch是一個(gè)很好用的工具,kubewatch能夠監(jiān)控那些特定的Kubernetes事件,并將此類事件以通知的形式推送到諸如Slack和PagerDuty的端點(diǎn)上。可以確保你的容器是安全的,并使用行業(yè)最佳實(shí)踐進(jìn)行打包,同時(shí)監(jiān)視軟件的漏洞和更新。但是,用戶表示,添加對(duì)多個(gè)實(shí)例的支持將會(huì)更有幫助。支持多個(gè)端點(diǎn),且易于部署。
5、Weave Scope
Weave Scope用來(lái)監(jiān)視和解決Kubernetes和Docker集群的故障,你就可以解放雙手輕松地識(shí)別和糾正你的容器化應(yīng)用程序的問(wèn)題。
6、Test-infra
Testinfra 是一個(gè)基礎(chǔ)架構(gòu)測(cè)試框架,它可以輕松編寫(xiě)單元測(cè)試來(lái)驗(yàn)證服務(wù)器的狀態(tài)。它支持的后端之一是 Ansible,所以這意味著 Testinfra 可以直接使用 Ansible 的清單文件和清單中定義的一組機(jī)器來(lái)對(duì)它們進(jìn)行測(cè)試。對(duì)于處理復(fù)雜的模板來(lái)測(cè)試和檢測(cè)錯(cuò)誤非常有用。
7、Trireme
Trireme通過(guò)提高Kubernetes進(jìn)程、工作負(fù)載和容器的安全性和降低復(fù)雜性,引入了一種不同的網(wǎng)絡(luò)授權(quán)方法。建議用它來(lái)減輕Kubernetes工作負(fù)載、容器和進(jìn)程的復(fù)雜性。它可以幫助你在應(yīng)用程序?qū)訌?qiáng)制實(shí)施安全性。
8、Sysdig Falco
這是一個(gè)可以提供深度容器可見(jiàn)性的行為活動(dòng)監(jiān)視工具,它縮短了檢測(cè)安全事件所需的時(shí)間,并應(yīng)用了允許你持續(xù)監(jiān)視和檢測(cè)容器、應(yīng)用程序、主機(jī)和網(wǎng)絡(luò)活動(dòng)的規(guī)則。使用它可以對(duì)其基礎(chǔ)設(shè)施進(jìn)行持續(xù)檢查、異常檢測(cè),并為任何類型的 Linux 系統(tǒng)調(diào)用設(shè)置警報(bào)通知。
還可以通過(guò) Falco 監(jiān)視 shell 何時(shí)在容器中運(yùn)行、容器在哪里掛載、對(duì)敏感文件的意外讀取、出站網(wǎng)絡(luò)嘗試以及其他可疑調(diào)用。
CLI工具
9、Cabin
Cabin是一個(gè)移動(dòng)儀表盤(pán),通過(guò)Android或iOS對(duì)Kubernetes進(jìn)行管理。它同意用戶遠(yuǎn)程管理他們的集群,是個(gè)很贊的工具,可以對(duì)所有事件進(jìn)行快速補(bǔ)救。當(dāng)Kubernetes應(yīng)用程序離開(kāi)主設(shè)備時(shí),Cabin可以快速管理它們。這并不是一個(gè)用于開(kāi)發(fā)的工具。當(dāng)工程師經(jīng)常遠(yuǎn)離他們的主計(jì)算機(jī),需要快速管理他們的Kubernetes集群時(shí),Cabin就很有用。
10、Kubectx/Kubens
Kubectx/Kubens使用自動(dòng)完成特性,通過(guò)在集群之間來(lái)回切換,幫助用戶輕松切換上下文,并同時(shí)連接到各個(gè)集群。你可以使用它在Kubernetes命名空間之間平穩(wěn)地切換。它有益于始終在集群或命名空間之間導(dǎo)航的用戶。
開(kāi)發(fā)工具
11、Telepresence
它讓你可以在本地調(diào)試Kubernetes服務(wù),簡(jiǎn)化了開(kāi)發(fā)和調(diào)試過(guò)程。
12、Helm
Helm幫助用戶管理他們的Kubernetes應(yīng)用程序,通過(guò)Helm圖表讓你可以共享你的應(yīng)用程序。這讓用戶能夠創(chuàng)建可共享可復(fù)制的構(gòu)建,但它不推薦用于更高級(jí)、更頻繁的部署。
13、Keel
它讓用戶可以重新專注于編寫(xiě)代碼和測(cè)試他們的應(yīng)用程序。因?yàn)槿绻麕?kù)中有新的應(yīng)用程序版本可用,它就會(huì)自動(dòng)更新kubernetes的工作負(fù)載。