docker swarm集群搭建过程对比k8s区别解析

 更新时间:2025年11月12日 09:55:46   作者:雪花凌落的盛夏  
Docker Swarm和Kubernetes是两种流行的容器编排工具,它们在服务部署、高可用性、滚动更新、资源管理和存储编排方面有所不同,本文给大家介绍docker swarm集群搭建过程对比k8s区别解析,感兴趣的朋友一起看看吧

Docker Swarm和Kubernetes 核心功能对比

功能Docker SwarmKubernetes
服务部署Manager直接分配任务给Worker节点通过API Server、Scheduler等组件协调
高可用性自动重新调度容器(节点故障时)自动故障转移、自愈能力更强
滚动更新支持,逐步更新容器实例支持,更精细的控制(如金丝雀发布)
资源管理基于节点的资源分配精细的CPU/内存资源分配与限制
存储管理简单的本地存储卷PV/PVC等高级存储编排
安全机制TLS加密、用户认证更全面的安全策略和RBAC

环境准备

IP名称
10.10.10.11主节点 manager1
10.10.10.3工作节点1 worker1
10.10.10.4工作节点2 worker2
# 修改三台机器名称
hostnamectl set-hostname manage1
hostnamectl set-hostname worker1 
hostnamectl set-hostname worker2 
# 所有节点开放Swarm必需端口
firewall-cmd --permanent --add-port={2377/tcp,7946/tcp,7946/udp,4789/udp}
firewall-cmd --reload

三台服务器需安装docker

yum -y update
# 安装基础依赖
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
创建yum缓存
yum makecache --timer
安装docker
yum -y install docker-ce
# 启动docker并设置开机自启
systemctl enable --now docker

创建Swarm 主节点

远程到10.10.10.11 manager1 ,创建一个新的swarm

# 在 manager1 机器上创建了一个 Swarm
docker swarm init --advertise-addr 10.10.10.11

--advertise-addr 标志将管理器节点配置为将其地址发布为 10.10.10.11。Swarm 中的其他节点必须能够通过此 IP 地址访问管理器。

输出包含将新节点加入 Swarm 的命令。节点将根据 --token 标志的值加入为管理器或工作节点

运行 docker info 以查看 Swarm 的当前状态

运行 docker node ls 命令以查看有关节点的信息

将节点添加到 Swarm

运行创建 Swarm教程步骤中docker swarm init输出生成的命令,以创建加入现有 Swarm 的工作节点。

如果没有记住命令,可以在manage1管理节点输入以下命令来检索工作节点的加入命令。

docker swarm join-token worker

将其他两个节点也提升为Manager节点

# 在Manager节点上执行
docker node promote <worker-node-id>
# 验证节点角色
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 #推荐国内服务器或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

到此这篇关于docker swarm集群搭建,对比k8s的文章就介绍到这了,更多相关docker swarm集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker 本地部署 CSR 前端项目完整指南

    Docker 本地部署 CSR 前端项目完整指南

    本文详细介绍了使用Docker部署Vue3+Vite前端项目的完整流程,通过这套方案,开发者可以轻松实现前端项目的容器化部署,确保开发、测试和生产环境的一致性,感兴趣的可以了解一下
    2026-01-01
  • Docker compose up -d与Docker restart的区别

    Docker compose up -d与Docker restart的区别

    本文主要介绍了Docker compose up -d与Docker restart的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤

    Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤

    这篇文章主要介绍了Gogs+Jenkins+Docker 自动化部署.NetCore,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • 解决docker搭建gitlab时容器不停重启的问题

    解决docker搭建gitlab时容器不停重启的问题

    这篇文章主要介绍了docker搭建gitlab时容器不停重启的问题,当用docker log 查看日志时,发现问题是在于配置文件没有权限创建的问题,本文给大家分享解决方案,感兴趣的朋友一起看看吧
    2022-05-05
  • 解决docker安装后运行hello-world报错的问题

    解决docker安装后运行hello-world报错的问题

    这篇文章主要介绍了解决docker安装后运行hello-world报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker安装geoserver的方法步骤

    docker安装geoserver的方法步骤

    GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,本文主要介绍了docker安装geoserver的方法步骤,感兴趣的可以了解一下
    2024-08-08
  • docker 创建容器时指定容器ip的实现示例

    docker 创建容器时指定容器ip的实现示例

    在实际部署中,我们需要指定容器ip,本文主要介绍了docker 创建容器时指定容器ip,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 搭建Docker私有镜像仓库的实现步骤

    搭建Docker私有镜像仓库的实现步骤

    私有镜像仓库可以更好地管理和控制镜像的访问和使用,提高开发和部署效率,减少网络延迟和不稳定因素的影响,本文主要介绍了搭建私有镜像仓库,感兴趣的可以了解一下
    2024-12-12
  • docker 移除掉运行不正常的container操作

    docker 移除掉运行不正常的container操作

    这篇文章主要介绍了docker 移除掉运行不正常的container操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 详解如何用docker安装laravel开发环境

    详解如何用docker安装laravel开发环境

    本篇文章主要介绍了详解如何用docker安装laravel开发环境,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论