Docker 常用模式

2022-05-08 11:24:08 字數 1184 閱讀 9530

這種模式就是確保在每個k8s的node節點上建立乙個pod例項,有且僅有乙個例項。當node被新增到集群中,pod也被新增上去。當node被從集群移除,這些pod會被垃圾**。刪除乙個daemonset將會清理它建立的pod。

daemonset 的典型應用場景有:

其實 kubernetes 自己就在用 daemonset 執行系統元件。執行如下命令:

kubectl get daemonset --namespace=kube-system

kubectl get pods --namespace=kube-system -o wide

可以看到flannel, kube-proxy等以daemonset形式存在的資源

daemonset對應的屬性例如label,映象如果更新那麼需要更新pod. daemonset目前有兩種公升級策略,可以通過.spec.updatestrategy.type指定:

ondelete: 該策略表示當更新了daemonset的模板後,只有手動刪除舊的daemonset pod才會建立新的daemonset pod

rollingupdate: 該策略表示當更新daemonset模板後會自動刪除舊的daemonset pod並建立新的daemonsetpod

將應用程式的元件部署到單獨的程序或容器中,以提供隔離和封裝。 使用此模式還可以使用異構元件和技術來構建應用程式。

此模式之所以稱作「挎鬥」(sidecar),是因為它類似於三輪電單車上的挎鬥。 在此模式中,挎鬥附加到父應用程式,為應用程式提供支援性功能。 此外,挎鬥與父應用程式具有相同的生命週期:與父應用程式一起建立,一起停用。 挎鬥模式有時也稱為搭檔模式,這是一種分解模式。

挎鬥服務不一定要屬於應用程式的一部分,而只是與應用程式相連線。 不管它位於哪個位置,父應用程式都會跟隨。挎鬥是連同主應用程式一起部署的支援性程序或服務。 以三輪電單車為例,挎鬥附加在一輛三輪電單車上,每輛三輪電單車有自身的挎鬥。 同樣,挎鬥服務與其父應用程式具有相同的生命週期。 對於應用程式的每個例項,都會部署乙個挎鬥例項,並連同應用程式例項一起託管該挎鬥例項。

使用挎鬥模式的好處包括:

挎鬥模式通常與容器一起使用,因而稱作挎鬥容器或搭檔容器。

問題和注意事項

何時使用此模式

在以下情況下使用此模式:

此模式可能不適用於以下情況:

示例挎鬥模式適用於許多方案。 一些常見示例:

docker基礎 docker網路模式

docker啟動之後,會在宿主機虛擬乙個docker容器網橋 docker0 docker啟動乙個容器時會根據docker網橋的網段分配給容器乙個ip位址,稱為container ip,其實,總共有5種,常用的是以下4種 docker網路模式 配置 說明 host模式 net host 容器和宿主機...

Docker 三 docker常用指令

具體參考 本文分為容器指令,映象指令 1 檢視本地image列表 docker images docker image ls 2 獲取遠端映象 docker pull 3 刪除映象 注意此映象如果正在使用,或者有關聯的映象,則需要先處理完 docker image rm imageid docker...

Docker 網路模式

host 模式並沒有為容器建立乙個隔離的網路環境。該模式下的docker 容器會和host宿主機共享同乙個網路namespace,docker container可以和宿主機一樣,使用宿主機的eth0,實現和外界的通訊。host模式特點包括 容器沒有隔離的 network namespace 容器的...