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