親測好用的Kubernetes&DevOps工具
Kubernetes 的出現(xiàn)不僅主宰了容器編排的市場,也進(jìn)化了過去的運維方式,不僅將開發(fā)與運維之間邊界變得更加模糊,而且讓 DevOps 這一角色變得更加清晰。它是目前可用的很流行的容器解決方案之一。
每個軟件工程師都能通過 Kubernetes 來定義服務(wù)之間的拓?fù)潢P(guān)系、線上的節(jié)點個數(shù)、資源使用量并且能夠快速實現(xiàn)水平擴(kuò)容、藍(lán)綠部署等在過去復(fù)雜的運維操作。以下的一系列工具,可以助你充分運用Kubernetes。

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