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集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 3分钟用Docker搭建一个Minecraft服务器

    3分钟用Docker搭建一个Minecraft服务器

    这篇文章主要介绍了3分钟用Docker搭建一个Minecraft服务器的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • 解读Dockerfile中CMD和ENTRYPOINT是否可以混着用

    解读Dockerfile中CMD和ENTRYPOINT是否可以混着用

    在Dockerfile中,CMD和ENTRYPOINT可以混着用,CMD指定默认命令,ENTRYPOINT指定启动命令,CMD可以被docker run命令的参数覆盖
    2025-03-03
  • 利用宝塔面板和docker快速部署网站的基本流程

    利用宝塔面板和docker快速部署网站的基本流程

    当你有了一台服务器,就会折腾往这台服务器上部署各种好玩的网站,本文将以部署filebrowser举例介绍网站部署的基本流程,感兴趣的朋友一起看看吧
    2023-12-12
  • 将Docker数据迁移到新磁盘的操作指南

    将Docker数据迁移到新磁盘的操作指南

    在容器化应用的部署中,Docker 通常将数据存储在默认的 /var/lib/docker 目录,然而,随着容器数量的增加和镜像的累积,该目录可能会迅速占满系统磁盘空间,从而影响系统的正常运行,所以本文给大家介绍了如何将Docker数据迁移到新磁盘的操作指南,需要的朋友可以参考下
    2025-04-04
  • 如何在Docker容器中打印和配置环境变量

    如何在Docker容器中打印和配置环境变量

    环境变量是操作系统级别的配置,在系统启动时设置,可以被系统中的所有进程访问,这篇文章主要介绍了如何在Docker容器中打印和配置环境变量的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-07-07
  • 修改Docker镜像仓库为阿里云镜像或163镜像的实现

    修改Docker镜像仓库为阿里云镜像或163镜像的实现

    docker本身的仓库非常慢,但是国内有阿里云的镜像仓库非常快,本文主要介绍了修改Docker镜像仓库为阿里云镜像或163镜像的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Docker数据持久化之如何让新容器同步旧数据详解

    Docker数据持久化之如何让新容器同步旧数据详解

    这篇文章主要为大家详细介绍了Docker如何让新容器同步旧数据,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2025-10-10
  • docker下安装confluence全过程

    docker下安装confluence全过程

    文章详细介绍了如何在虚拟机上安装和配置Docker、Java环境、MySQL和Confluence,首先,文章指导如何卸载并安装Docker,然后配置虚拟机的IP和网络设置,接着,介绍如何在虚拟机上安装JDK,并配置MySQL和Confluence,最后,提供了完整的安装步骤和一些注意事项
    2025-02-02
  • 将spring boot应用打入docker中运行的实现方法

    将spring boot应用打入docker中运行的实现方法

    这篇文章主要介绍了将spring boot应用打入docker中运行的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Docker中部署Mino并挂载配置文件的项目实践

    Docker中部署Mino并挂载配置文件的项目实践

    本文主要介绍了Docker中部署Mino并挂载配置文件的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论