Docker和K8s的作用是什麼

Docke和K8s的作用是什麼?Docke是一箇開源的應用容器引擎,開發者可以打包應用及依賴到一箇可移植的容器中,然後發佈到流行的Linux機器上,也可實現虛擬化。K8s是Kubenetes的簡稱,它是一箇開源的容器集羣管理系統,可以實現容器集羣的自動化部署、自動擴縮容、維護等功能,讓部署容器化的應用更簡單高效。

Docke本身並不是容器,它是創建容器的工具,是應用容器引擎。Docke技術的三大核心概念,分別是鏡像(Imge)、容器(Contine)、倉庫(Repositoy)。儘管Docke爲容器化的應用程序提供了開放標準,但隨着業務規模逐漸擴大,容器越來越多,這時會出現一些新的問題,例如:如何在升級應用程序時不中斷服務?如何批量重新啓動容器裏的程序?如何監視應用程序的運行狀況等等。

解決上述問題需要運用到容器編排技術,將衆多機器抽象化,以便能處理大量的容器和用戶、同步管理服務通信、支持在多平臺部署等。Kubenetes(簡稱K8s)是近年來非常受歡迎的用於管理雲平臺中多箇主機上的容器化的應用,它的一箇核心特點是能夠自主的管理容器來保證雲平臺中的容器按照用戶的期望狀態運行下去。我們用Kubenetes去管理Docke集羣,即可以將Docke看成Kubenetes內部使用的低級別組件。

現在多數國外服務器商家提供Kubenetes支持,如Linode、Vult等。通過使用Kubenetes,我們可以快速創建部署或擴展應用,實現負載均衡,節省資源、優化硬件資源的使用等,以減輕應用程序在公有云或私有云平臺中運行的負擔。