docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker swarm集群

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

作者:雪花凌落的盛夏

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

您可能感兴趣的文章:
阅读全文