重慶網(wǎng)絡(luò)營銷與網(wǎng)絡(luò)廣告百度網(wǎng)盤seo優(yōu)化
容器生態(tài)系統(tǒng)
容器生態(tài)系統(tǒng)包含核心技術(shù)、平臺技術(shù)和支持技術(shù)。
1-1 容器核心技術(shù)
其中容器核心技術(shù)指的是能讓容器在主機(jī)服務(wù)器上運(yùn)行的技術(shù),包含容器規(guī)范
、容器 runtime
、容器管理工具
、容器生態(tài)工具
、registries
、容器 OS
。
- 容器規(guī)范: 容器除了常見的
Docker
外,還有其他的容器,例如Podman
、rkt
為了保證不同容器之間可以兼容,各大公司聯(lián)合制定了OKI
(開放容器規(guī)范協(xié)議),規(guī)定了兩個(gè)規(guī)范runtime spec
、image format spec
、旨在解決容器運(yùn)行時(shí)規(guī)范問題和鏡像格式的規(guī)范問題。 - 容器 runtime:
runtime
是容器真正的運(yùn)行的地方,runtime
需要跟操作系統(tǒng)kernel
緊密限制。 - 容器管理工具: 我們通過容器管理工具來和
runtime
交互,對外提供interface
- Lxd:Linux容器守護(hù)程序允許用戶創(chuàng)建和管理系統(tǒng)容器,這些容器可以運(yùn)行獨(dú)立的Linux發(fā)行版,并共享宿主系統(tǒng)的內(nèi)核。Lxd提供了一種更接近傳統(tǒng)虛擬機(jī)的容器化體驗(yàn),它具有更強(qiáng)大的隔離性和管理功能,可用于部署和管理應(yīng)用程序。
- docker engine:
- daemon: Docker守護(hù)程序是在主機(jī)上運(yùn)行的后臺服務(wù),負(fù)責(zé)管理容器的創(chuàng)建、啟動(dòng)、停止和銷毀等任務(wù)。它還負(fù)責(zé)與Docker鏡像和容器的存儲、網(wǎng)絡(luò)和卷相關(guān)的操作。
- cli: Docker CLI是用于與Docker守護(hù)程序進(jìn)行交互的命令行工具。它允許用戶通過命令行命令來管理容器、鏡像和其他Docker資源。
- rkt cli: rkt CLI是用于與rkt容器運(yùn)行時(shí)進(jìn)行交互的命令行工具。
- 容器定義工具: 容器定義工具允許用戶定義容器的內(nèi)容和屬性,這樣容器就能夠被保存、共享和重建。常見的容器定義工具有
docker image
、dockerfile
、ACI
- docker image:
docker image
是 docker 容器的模版,Docker鏡像是Docker容器的構(gòu)建塊,容器是從鏡像創(chuàng)建的實(shí)例。一般通過docker pull
從容器鏡像倉庫拉取容器。 - Dockerfile: Dockerfile是一個(gè)文本文件,其中包含了一組指令和配置,用于構(gòu)建Docker鏡像。Docker鏡像是用于創(chuàng)建Docker容器的模板,Dockerfile指定了如何構(gòu)建這個(gè)模板。
- ACI: 類似于 RKT 容器的
image
。
- docker image:
- 容器倉庫: 存放鏡像
**image**
的地方叫做倉庫registry
、倉庫分為企業(yè)構(gòu)建 Docker registry
、Docker hub
、Quary.io
。三個(gè)類型。其中企業(yè)私有構(gòu)建的更具備安全性和私密性。
1-2-容器平臺技術(shù)
容器的平臺技術(shù)能夠讓容器以集群的形式在分布式的環(huán)境中運(yùn)行。容器平臺技術(shù)包括容器編排引擎
、容器管理平臺
、基于容器的 PaaS
。
容器編排引擎(Container Orchestration Engine)指的是是用于管理、調(diào)度和協(xié)調(diào)容器化應(yīng)用程序的工具或平臺。它們在容器集群中自動(dòng)化各種任務(wù),如容器的部署、伸縮、負(fù)載均衡、服務(wù)發(fā)現(xiàn)、容錯(cuò)性等,以確保應(yīng)用程序能夠高效地運(yùn)行并保持可用性。常見的容器編排引擎有Kubernetes
、Docker Swarm
、Apache Mesos
、Amazon ECS
等。
容器管理平臺指的是是架構(gòu)在容器編排引擎之上的一個(gè)更為通用的平臺??梢灾С侄喾N編排引擎,可以用于在大規(guī)模容器集群中實(shí)現(xiàn)高效的容器編排和管理。常見的容器管理平臺有Docker Desktop
、Rancher
、OpenShift
。
基于容器的 PaaS 指的是一種云計(jì)算服務(wù)模型,它結(jié)合了容器技術(shù)和PaaS的概念,提供了一種用于構(gòu)建、部署和管理應(yīng)用程序的平臺。
1-3-容器支持技術(shù)
容器支持技術(shù)指的是支持容器的基礎(chǔ)設(shè)施,保障容器的正常功能運(yùn)行,包含容器網(wǎng)絡(luò)
、服務(wù)發(fā)現(xiàn)
、監(jiān)控
、數(shù)據(jù)管理
、日志管理
、安全性
。
容器網(wǎng)絡(luò): 服務(wù)器內(nèi)部之間架構(gòu)容器,要求我們對網(wǎng)絡(luò)的掌握更加熟練,來保證容器與容器、容器與其他服務(wù)器之間的聯(lián)系,比較常見的容器解決方案有Docker network
、flannel
、weave
、calico
。
服務(wù)發(fā)現(xiàn): 微服務(wù)的一大特點(diǎn)是動(dòng)態(tài)發(fā)現(xiàn),動(dòng)態(tài)發(fā)現(xiàn)是微服務(wù)架構(gòu)中的一個(gè)重要特點(diǎn),它指的是在運(yùn)行時(shí)自動(dòng)地發(fā)現(xiàn)和注冊微服務(wù)實(shí)例的能力。這使得微服務(wù)可以動(dòng)態(tài)地加入和離開系統(tǒng),而無需手動(dòng)配置或硬編碼依賴關(guān)系。動(dòng)態(tài)發(fā)現(xiàn)有助于應(yīng)對微服務(wù)的可伸縮性、彈性和高可用性需求,因?yàn)樾碌奈⒎?wù)實(shí)例可以輕松地添加到集群中,而故障的實(shí)例可以自動(dòng)從系統(tǒng)中移除。這種功能的實(shí)現(xiàn)一般需要使用到容器編排工具
、服務(wù)發(fā)現(xiàn)工具
等來配合使用。
監(jiān)控: 容器的動(dòng)態(tài)發(fā)現(xiàn)對監(jiān)控提出了更高的要求,Docker 提供了原生的命令行監(jiān)控工具,docker ps
、docker top
等,除此之外還有一些stats API
及其他的容器監(jiān)控解決方案供我們選擇。
除此之外的數(shù)據(jù)管理、日志管理、安全性在日常的工作中也比較常見,可以多多關(guān)注。