docker swarm集群搭建過程對比k8s區(qū)別解析
Docker Swarm和Kubernetes 核心功能對比
| 功能 | Docker Swarm | Kubernetes |
|---|---|---|
| 服務(wù)部署 | Manager直接分配任務(wù)給Worker節(jié)點 | 通過API Server、Scheduler等組件協(xié)調(diào) |
| 高可用性 | 自動重新調(diào)度容器(節(jié)點故障時) | 自動故障轉(zhuǎn)移、自愈能力更強 |
| 滾動更新 | 支持,逐步更新容器實例 | 支持,更精細(xì)的控制(如金絲雀發(fā)布) |
| 資源管理 | 基于節(jié)點的資源分配 | 精細(xì)的CPU/內(nèi)存資源分配與限制 |
| 存儲管理 | 簡單的本地存儲卷 | PV/PVC等高級存儲編排 |
| 安全機制 | TLS加密、用戶認(rèn)證 | 更全面的安全策略和RBAC |
環(huán)境準(zhǔn)備
| IP | 名稱 |
|---|---|
| 10.10.10.11 | 主節(jié)點 manager1 |
| 10.10.10.3 | 工作節(jié)點1 worker1 |
| 10.10.10.4 | 工作節(jié)點2 worker2 |
# 修改三臺機器名稱 hostnamectl set-hostname manage1 hostnamectl set-hostname worker1 hostnamectl set-hostname worker2
# 所有節(jié)點開放Swarm必需端口
firewall-cmd --permanent --add-port={2377/tcp,7946/tcp,7946/udp,4789/udp}
firewall-cmd --reload
三臺服務(wù)器需安裝docker
yum -y update # 安裝基礎(chǔ)依賴 yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加docker源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 創(chuàng)建yum緩存 yum makecache --timer 安裝docker yum -y install docker-ce # 啟動docker并設(shè)置開機自啟 systemctl enable --now docker
創(chuàng)建Swarm 主節(jié)點
遠(yuǎn)程到10.10.10.11 manager1 ,創(chuàng)建一個新的swarm
# 在 manager1 機器上創(chuàng)建了一個 Swarm docker swarm init --advertise-addr 10.10.10.11
--advertise-addr 標(biāo)志將管理器節(jié)點配置為將其地址發(fā)布為 10.10.10.11。Swarm 中的其他節(jié)點必須能夠通過此 IP 地址訪問管理器。

輸出包含將新節(jié)點加入 Swarm 的命令。節(jié)點將根據(jù) --token 標(biāo)志的值加入為管理器或工作節(jié)點
運行 docker info 以查看 Swarm 的當(dāng)前狀態(tài)

運行 docker node ls 命令以查看有關(guān)節(jié)點的信息

將節(jié)點添加到 Swarm
運行創(chuàng)建 Swarm教程步驟中docker swarm init輸出生成的命令,以創(chuàng)建加入現(xiàn)有 Swarm 的工作節(jié)點。
如果沒有記住命令,可以在manage1管理節(jié)點輸入以下命令來檢索工作節(jié)點的加入命令。
docker swarm join-token worker

將其他兩個節(jié)點也提升為Manager節(jié)點
# 在Manager節(jié)點上執(zhí)行 docker node promote <worker-node-id> # 驗證節(jié)點角色 docker node ls

[root@manage1 portainer]# cat docker-compose.yml
services:
portainer:
#container_name: portainer
#network_mode: bridge
image: 6053537/portainer-ce:2.33.3
# image: 6053537/portainer-ce #漢化版。官方版為portainer/portainer-ce
# image: hub-mirror.c.163.com/6053537/portainer-ce #推薦國內(nèi)服務(wù)器或nas用,需要請用#注釋上一行
ports:
- 9000:9000
# - 8000:8000
# - 9443:9443
volumes:
- ./portainer_data:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
[root@manage1 portainer]# docker stack deploy -c docker-compose.yml portainer
[root@manage1 portainer]# docker service ls
[root@manage1 portainer]# docker service logs portainer_portainer到此這篇關(guān)于docker swarm集群搭建,對比k8s的文章就介紹到這了,更多相關(guān)docker swarm集群內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
3分鐘用Docker搭建一個Minecraft服務(wù)器
這篇文章主要介紹了3分鐘用Docker搭建一個Minecraft服務(wù)器的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-11-11
解讀Dockerfile中CMD和ENTRYPOINT是否可以混著用
在Dockerfile中,CMD和ENTRYPOINT可以混著用,CMD指定默認(rèn)命令,ENTRYPOINT指定啟動命令,CMD可以被docker run命令的參數(shù)覆蓋2025-03-03
利用寶塔面板和docker快速部署網(wǎng)站的基本流程
當(dāng)你有了一臺服務(wù)器,就會折騰往這臺服務(wù)器上部署各種好玩的網(wǎng)站,本文將以部署filebrowser舉例介紹網(wǎng)站部署的基本流程,感興趣的朋友一起看看吧2023-12-12
修改Docker鏡像倉庫為阿里云鏡像或163鏡像的實現(xiàn)
docker本身的倉庫非常慢,但是國內(nèi)有阿里云的鏡像倉庫非???本文主要介紹了修改Docker鏡像倉庫為阿里云鏡像或163鏡像的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-11-11
Docker數(shù)據(jù)持久化之如何讓新容器同步舊數(shù)據(jù)詳解
這篇文章主要為大家詳細(xì)介紹了Docker如何讓新容器同步舊數(shù)據(jù),文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以參考一下2025-10-10
將spring boot應(yīng)用打入docker中運行的實現(xiàn)方法
這篇文章主要介紹了將spring boot應(yīng)用打入docker中運行的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

