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

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

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

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

將其他兩個(gè)節(jié)點(diǎn)也提升為Manager節(jié)點(diǎn)
# 在Manager節(jié)點(diǎn)上執(zhí)行 docker node promote <worker-node-id> # 驗(yàn)證節(jié)點(diǎn)角色 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 #推薦國(guó)內(nèi)服務(wù)器或nas用,需要請(qǐng)用#注釋上一行
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集群搭建,對(duì)比k8s的文章就介紹到這了,更多相關(guān)docker swarm集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 本地部署 CSR 前端項(xiàng)目完整指南
本文詳細(xì)介紹了使用Docker部署Vue3+Vite前端項(xiàng)目的完整流程,通過(guò)這套方案,開發(fā)者可以輕松實(shí)現(xiàn)前端項(xiàng)目的容器化部署,確保開發(fā)、測(cè)試和生產(chǎn)環(huán)境的一致性,感興趣的可以了解一下2026-01-01
Docker compose up -d與Docker restart的區(qū)別
本文主要介紹了Docker compose up -d與Docker restart的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore的方法步驟
這篇文章主要介紹了Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06
解決docker搭建gitlab時(shí)容器不停重啟的問題
這篇文章主要介紹了docker搭建gitlab時(shí)容器不停重啟的問題,當(dāng)用docker log 查看日志時(shí),發(fā)現(xiàn)問題是在于配置文件沒有權(quán)限創(chuàng)建的問題,本文給大家分享解決方案,感興趣的朋友一起看看吧2022-05-05
解決docker安裝后運(yùn)行hello-world報(bào)錯(cuò)的問題
這篇文章主要介紹了解決docker安裝后運(yùn)行hello-world報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
docker?創(chuàng)建容器時(shí)指定容器ip的實(shí)現(xiàn)示例
在實(shí)際部署中,我們需要指定容器ip,本文主要介紹了docker?創(chuàng)建容器時(shí)指定容器ip,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
搭建Docker私有鏡像倉(cāng)庫(kù)的實(shí)現(xiàn)步驟
私有鏡像倉(cāng)庫(kù)可以更好地管理和控制鏡像的訪問和使用,提高開發(fā)和部署效率,減少網(wǎng)絡(luò)延遲和不穩(wěn)定因素的影響,本文主要介紹了搭建私有鏡像倉(cāng)庫(kù),感興趣的可以了解一下2024-12-12
docker 移除掉運(yùn)行不正常的container操作
這篇文章主要介紹了docker 移除掉運(yùn)行不正常的container操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
詳解如何用docker安裝laravel開發(fā)環(huán)境
本篇文章主要介紹了詳解如何用docker安裝laravel開發(fā)環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02

