想要輕松擴(kuò)展容器架構(gòu),這7款Kubernetes工具幫助你
譯文【51CTO.com快譯】最初由谷歌開發(fā)的容器編排工具Kubernetes已成為敏捷團(tuán)隊(duì)和DevOps團(tuán)隊(duì)的重要資源。作為一款開源工具,Kubernetes正成為自成一體的生態(tài)系統(tǒng),支持它的其他工具紛紛在開發(fā)出來。其中一些直接來自Kubernetes,另一些本身就是開源項(xiàng)目。
Kubernetes在官網(wǎng)(https://kubernetes.io/docs/tools/)上列出了一批原生開源工具,不過我們認(rèn)為應(yīng)更深入地探討每個工具。其中一些工具受到Kubernetes初學(xué)者的青睞,另一些工具應(yīng)該等你深入了解了該系統(tǒng)的工作機(jī)理再使用也不遲。
如果你準(zhǔn)備好嘗試采用這些工具,Kubernetes提供了全面的說明文檔幫助你。我們附有所有相關(guān)頁面的鏈接。
準(zhǔn)備提升你的Kubernetes生活了嗎?開始吧!
一、原生工具
1.Kubeadm
Kubeadm是命令行工具,讓你能夠在物理服務(wù)器、云服務(wù)器或虛擬機(jī)上面輕松配置一個安全的Kubernetes集群,從而可以輕松安全地啟動Kubernetes集群。Kubeadm創(chuàng)建的集群旨在通過Kubernetes一致性測試(http://blog.kubernetes.io/2017/10/software-conformance-certification.html)。
Kubeadm既方便新用戶試用并更深入地了解Kubernetes,又方便現(xiàn)有用戶測試應(yīng)用,并輕松創(chuàng)建集群。它適合測試Kubernetes集群的功效,又為團(tuán)隊(duì)提供了決定采用Kubernetes后所需的可擴(kuò)展性。
2.Kubectl
Kubectl是面向Kubernetes的命令行工具,用于控制Kubernetes集群管理器。Kubectl中有幾個子命令可用于更精確的集群管理控制,比如在不同的API版本之間轉(zhuǎn)換文件或者執(zhí)行容器命令。子命令的完整列表可以在這里(https://kubernetes.io/docs/reference/generated/kubectl/kubectl/)找到。
3.Kubefed
Kubernetes的另一個有用的命令行工具是Kubefed命令。該工具可幫助你管理聯(lián)合集群。借助Kubefed,你可以部署新的Kubernetes集群聯(lián)合控制平面。你還可以將集群添加到現(xiàn)有的聯(lián)合控制平面,或者從現(xiàn)有的聯(lián)合控制平面刪除集群。該工具僅在Kubernetes版本1.5及更高版本中可用。
閱讀本指南(https://kubernetes.io/docs/tasks/federation/set-up-cluster-federation-kubefed/#prerequisites),即可借助Kubefed讓集群聯(lián)合機(jī)制運(yùn)行起來。
4.Minikube
Minikube是用于開發(fā)和測試的理想的Kubernetes工具。對于剛開始使用Kubernetes的用戶來說,它也是另一款出色的工具。Minikube便于在本地運(yùn)行單節(jié)點(diǎn)的Kubernetes集群,用于開發(fā)和測試。Minikube支持眾多的Kubernetes功能,包括DNS、NodePorts、ConfigMaps及Secrets、Dashboard、Container運(yùn)行時環(huán)境(Docker、rkt和CRI-O)、支持CNI和ingress。
啟用Minikube是個簡單的過程。遵照這篇逐步介紹的指南(https://kubernetes.io/docs/tasks/tools/install-minikube/),即可快速輕松地安裝。
5.Dashboard
Kubernetes Dashboard是一個非常有用的集群管理工具。你可以從基于Web的儀表板,將容器化的應(yīng)用程序部署到Kubernetes集群中,并排查故障。一旦部署完畢,你可以全面管理集群及其所有資源。
一旦啟動并運(yùn)行,Dashboard讓你可以全面查看所有運(yùn)行中的應(yīng)用程序。你還可以修改任何的Kubernetes資源。這些資源可以是DaemonSets、Deployments、Jobs或你使用的其他任何資源。
就像Retrace(https://stackify.com/retrace/)讓你清楚地了解應(yīng)用程序那樣,Dashboard讓你也可以查看所有的Kubernetes資源,找出可能發(fā)生的任何錯誤。
這是Kubernetes Dashboard的一個示例,從Kubernetes工具頁面(https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard)截取。
二、第三方工具
第三方Kubernetes工具不是由Kubernetes自己開發(fā)的,但仍得益于一個繁榮的社區(qū),為充滿激情的開源開發(fā)人員提供支持。Kubernetes在官網(wǎng)上對這些工具予以了認(rèn)可,因而可以像Kubernetes那樣信任他們。
1.Helm
Helm是用于管理Kubernetes圖表的理想工具。Kubernetes圖表其實(shí)是軟件包,集合了預(yù)先配置的Kubernetes資源。這些圖表包括兩個部分:對軟件包的描述和包含Kubernetes清單文件的一個或多個模板。實(shí)際上,Helm簡化了安裝和管理Kubernetes應(yīng)用程序的工作。
Helm有大量寶貴的功能可幫助DevOps團(tuán)隊(duì)順利運(yùn)行Kubernetes應(yīng)用程序。你可以找到使用打包成官方Kubernetes圖表的流行軟件。一些圖表可以在Kubeapps(https://kubeapps.com/)上找到。你甚至可以創(chuàng)建并共享自己的應(yīng)用程序作為Kubernetes圖表,供他人使用。
2.Kompose
對于容器管理方面經(jīng)驗(yàn)豐富,但不熟悉Kubernetes的開發(fā)人員來說,Kompose是個很好的工具。如果在容器方面有經(jīng)驗(yàn),你很可能熟悉Docker Compose(https://docs.docker.com/compose/)。Kompose讓用戶只需點(diǎn)擊一下命令,就可以將Compose文件和應(yīng)用程序順利地轉(zhuǎn)移到Kubernetes對象。
將Docker Compose文件傳輸?shù)終ubernetes資源可能并不完全準(zhǔn)確,所以在傳輸后務(wù)必仔細(xì)核查。不過,使用Kompose進(jìn)行傳輸對于Docker Compose老手大有幫助。
三、用Kubernetes做更多的事
Kubernetes在容器和微服務(wù)生態(tài)系統(tǒng)(https://stackify.com/microservices-containers/)中起到了不可或缺的作用。它讓你能夠連接和管理任何所需數(shù)量的容器,同時開發(fā)更敏捷、更安全的應(yīng)用程序。
一個充滿活力而強(qiáng)大的生態(tài)系統(tǒng)已圍繞Kubernetes系統(tǒng)建立起來,本文介紹的這些工具只是其中的一小部分。隨著更多的開發(fā)人員采用容器和Kubernetes,預(yù)計(jì)會有越來越多的工具擴(kuò)展容器和Kubernetes的功能。
原文標(biāo)題:7 Kubernetes Tools to Expand Your Container Architecture,作者:JOHN JULIEN
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】