排名前15位的Kubernetes监控和安全工具
Kubernetes推動了競爭力的提升。如今,作為一項成熟的技術(shù),全球各地的企業(yè)都在迅速采用基于微服務(wù)的,容器驅(qū)動的方法來交付軟件。Kubernetes是行業(yè)標(biāo)準(zhǔn)。行業(yè)領(lǐng)導(dǎo)者正在幫助它如雨后春筍般發(fā)展,基于Kubernetes核心開發(fā)綜合應(yīng)用程序和生態(tài)系統(tǒng)。它是最流行的開源容器編排平臺,因為它能夠支持應(yīng)用程序可以創(chuàng)建的各種要求和約束。
我們將研究15種最佳的Kubernetes工具。這些應(yīng)用程序?qū)⒀a充K8s,并增強您的開發(fā)工作,因此您可以從Kubernetes獲得更多。
cAdvisor是一個Kubernetes工具,用于監(jiān)視資源使用情況和性能。它是開源的,由Google維護。cAdvisor本機支持Docker,并與Kubelet集成。支持任何容器類型。cAdvisor可以自動檢測服務(wù)器中的所有容器。然后收集,處理和分發(fā)容器信息。它有一個缺點。在存儲用于長期監(jiān)視的指標(biāo)方面受到限制。cAdvisor的容器抽象基于lmctfy。它繼承了嵌套的層次結(jié)構(gòu)行為。
Kubernetes Dashboard是基于Web的Kubernetes監(jiān)視工具,它更適合于較小的集群。它提供了一個用于管理Kubernetes的UI。這些任務(wù)包括發(fā)現(xiàn),負(fù)載平衡和監(jiān)視。許多選項可用于故障排除。儀表板允許監(jiān)視總計的CPU和內(nèi)存使用情況。它可以監(jiān)視工作負(fù)載的運行狀況。可以直接使用現(xiàn)成的YAML模板進行安裝。該機艙是Kubernetes儀表板的移動版本。它為Android和iOS提供類似的功能。
Kubelet是在Kubernetes集群的每個節(jié)點上運行的“節(jié)點代理”。他們可以在中央API服務(wù)器上注冊該節(jié)點。“ PodSpec”,它是用于描述每個吊艙的YAML或JSON對象。因此,Kubelet能夠通過其PodSpec監(jiān)視這些節(jié)點。此外,Kublet接受來自API服務(wù)器的PodSpecs。他們還可以從其他來源來這樣做。但是無法管理它們。Docker的cAdvisor就是其中之一。它的主要好處是可以監(jiān)視整個群集。
容器的安全性要求是唯一的。它們不同于其他類型的托管,例如VPS。原因是它們有更多的層需要保護。其中包括容器運行時,協(xié)調(diào)器和應(yīng)用程序映像。以下是一些專用工具。
Twistlock是一個全生命周期的容器安全解決方案。它具有VMS,可掃描任何易受攻擊的區(qū)域。它會持續(xù)掃描Kubernetes。也有一個自動防火墻。掃描容器圖像是Twistlock的另一個重要功能。支持使用Node.js組件和Docker映像。Twistlock專注于容器安全性的兩個基本方面。首先,它會持續(xù)掃描容器圖像。原因是每天都會出現(xiàn)新的威脅數(shù)據(jù)。接下來,它著重于運行容器的安全性。必須首先設(shè)置正常行為的基準(zhǔn)。之后,可以輕松對其進行監(jiān)視。
Falco是針對安全性的Kubernetes工具,可檢測容器中的異常活動。它源自Sysdig項目,現(xiàn)已成為商業(yè)產(chǎn)品。Falco監(jiān)視容器,重點放在內(nèi)核系統(tǒng)調(diào)用上。它使用一組規(guī)則。這些用于監(jiān)視容器的多層。其中包括容器本身,應(yīng)用程序,主機和網(wǎng)絡(luò)。它支持Kubernetes和容器。您可以為每個Kubernetes集群構(gòu)建唯一的規(guī)則。這些規(guī)則可以在所有容器中強制執(zhí)行。Falco還為容器運行時提供本地支持。
Aqua Security會在部署之前掃描容器映像。此功能使您可以將圖像設(shè)為只讀。不變的圖像不太容易受到威脅。此外,它還可以輕松檢測異常。這些掃描是在每個應(yīng)用程序上下文上完成的。規(guī)模和性能是開發(fā)過程中的關(guān)鍵重點,并在官方文檔中進行了說明。保護多租戶環(huán)境是其核心功能之一。它在確保租戶之間隔離的同時執(zhí)行此任務(wù)。隔離既涉及數(shù)據(jù)又涉及訪問。它掃描多個安全問題。其中包括已知威脅,嵌入式機密和惡意軟件。它會運行其他測試來檢查設(shè)置和權(quán)限中的問題。除了Kubernetes,Aqua Security還與十多個容器供應(yīng)商兼容。
Kubectl是Kubernetes的默認(rèn)CLI工具。它支持與Kubernetes相關(guān)的所有操作。通過$ HOME目錄中的配置文件檢測節(jié)點。kubectl也接受其他kubeconfig文件。只需設(shè)置相關(guān)的環(huán)境變量。也可以使用–kubeconfig標(biāo)志來完成。Docker用戶可以使用kubectl與API服務(wù)器進行交互。kubectl命令類似于Docker命令。只有一些細(xì)微的差異。
這些Kubernetes工具都可以通過共享存儲庫使用。它們通過kubectl提供其他功能。kubectx是多集群環(huán)境中的有用工具。您可以使用它在集群之間切換上下文。避免使用kubectx關(guān)鍵字執(zhí)行復(fù)雜的命令。kubectx的一個顯著優(yōu)勢是別名名稱的能力。該功能允許使用命令“ kubectx [alias]”切換上下文。kubectx會記住先前的上下文。該內(nèi)存可以通過“ kubectx-”切換回去。kubectx在Windows上不可用。因此,您將需要使用kubectxwin代替。kubens是一個類似的工具,對于在Kubernetes命名空間之間切換非常有用。“ kubens-”命令將您切換回上一個上下文。
Kube-shell是另一個Kubernetes工具,可用于補充kubectl。它是在kubectl之上構(gòu)建的shell。它通過為命令提供自動完成功能來提高效率。它根據(jù)輸入的值建議命令。執(zhí)行命令后,Kube-shell將提供內(nèi)聯(lián)描述。另一個重要功能是循環(huán)瀏覽以前的功能。可以使用箭頭鍵進行滾動。
helm
Helm是用于應(yīng)用程序的更新的Kubernetes管理工具。它使用一種稱為Charts的YAML文件。它們類似于Homebrew,Apt或Yum RPM。圖表用于定義,安裝和升級Kubernetes。它們是一種模板,甚至支持最復(fù)雜的Kubernetes。圖表的設(shè)計使其易于創(chuàng)建和維護。它們可以共享并用于發(fā)布Kubernetes。圖表包含包裝說明和至少一個模板。模板包含Kubernetes清單文件。它們可以重復(fù)使用以多次部署。如果多次安裝同一圖表,則將創(chuàng)建一個新版本。
apollo
Apollo提供了一個用于管理Kubernetes的UI。它允許查看日志。只需單擊一下即可恢復(fù)部署。它提供了靈活的權(quán)限模型。它是在Kubernetes中連續(xù)部署的輕量級工具。Apollo可以與任何現(xiàn)有的構(gòu)建過程集成。只需要通知“就緒工件”即可。此Kubernetes管理工具允許用戶管理多個Kubernetes集群。這些群集中的每個群集都可以具有多個名稱空間。實時查詢功能允許查看部署的當(dāng)前狀態(tài)。它支持查看窗格狀態(tài),查看日志和重新啟動窗格。它由Java客戶端和用于監(jiān)視的REST API組成。
kubespray
Kubespray是一個通過Ansible角色工作的Kubernetes管理工具。它支持AWS,Google Cloud Environment,Azure和OpenStack.Kubespray使熟悉Ansible的人受益。對于此類用戶而言,它具有輕微的學(xué)習(xí)曲線,從而可以通過單個工具進行供應(yīng)和管理。Kubespray支持連續(xù)集成測試。大多數(shù)Linux發(fā)行版均提供支持。
kubeless此工具是用于部署小型應(yīng)用程序的本地Kubernetes工具。它使用Kubernetes資源來啟用許多任務(wù)。這些有助于自動擴展,路由API,進行監(jiān)視和故障排除。Kubeless脫穎而出,因為它支持自定義資源定義。該功能允許Kubeless創(chuàng)建自定義的Kubernetes資源。然后,您可以使用集群內(nèi)控制器對其進行監(jiān)視。它允許您根據(jù)需要啟動運行時。然后,這些運行時可以通過HTTP使用。此外,還可以使用PubSub機制。
fission
Fission可以在本地計算機或公共/私有云上運行。它提供對許多編程語言的支持。它們是Python,NodeJS,Go,C#和PHP。然后可以將這些功能映射到HTTP請求或其他觸發(fā)器。部署是通過單個命令完成的。您無需擔(dān)心構(gòu)建容器。此功能與管理Docker注冊表相同。像許多無服務(wù)器工具一樣,Fission允許您專注于代碼。管道留給框架和協(xié)調(diào)器。同樣,這將使您能夠構(gòu)建容器。Fission的基本功能是其工作流程。它允許通過邏輯門鏈接多個無服務(wù)器功能。您無需處理網(wǎng)絡(luò)或消息隊列等問題。
ironfunction
IronFunction是另一個用Golang編寫的開源無服務(wù)器工具。它支持任何編程語言中的功能。它支持AWS Lambda函數(shù),這是其主要功能之一。您可以導(dǎo)入Lambda函數(shù)并在任何平臺上運行它們。這樣可以節(jié)省使用成本。這方面與不考慮其用途的活動API不同。無服務(wù)器功能僅在使用時產(chǎn)生費用。這些成本是按時間劃分的。擴展是另一個增強的領(lǐng)域。您要做的就是增加IronFunction節(jié)點的數(shù)量。每個應(yīng)用程序都沒有縮放比例。
總結(jié)
以上是生活随笔為你收集整理的排名前15位的Kubernetes监控和安全工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 研发协同平台持续交付之代理服务实践
- 下一篇: Asp.Net Core Identit