当前位置: 首页 > news >正文

docker swarm集群部署

文章目录

  • 前言
  • 一、安装docker
    • 1.1 解压
    • 1.2 配置docker 存储目录和dns
    • 1.3 添加docker.service文件
    • 1.4 docker 启动验证
  • 二、docker swarm 集群配置
    • 2.1 关闭selinux
    • 2.2 设置主机名称并加入/etc/hosts
    • 2.3 修改各个服务器名称(uname -a 进行验证)
    • 2.4 初始化swarm
    • 2.5 删除node节点
  • 三、安装 portainer(自选)
    • 3.1 主节点机器,上传portainer.tar
    • 3.2 启动portainer


前言

docker swarm 集群部署及portainer安装。本文相关文件下载 Go!

一、安装docker

1.1 解压

tar -zxvf docker-19.03.6.tgzcp docker/* /usr/bin/

1.2 配置docker 存储目录和dns

/data/server/docker 为实际目录,操作前创建该目录,确保目录挂载到数据盘。 请不要使用系统盘的目录

mkdir -p /data/server/dockervi /etc/docker/daemon.json{"data-root" : "/data/server/docker"}

1.3 添加docker.service文件

vi /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd  --bip=172.20.1.0/16
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

1.4 docker 启动验证

重新加载配置systemctl daemon-reload
启动Dockerservice docker start
查看docker启动状态systemctl status docker
查看启动容器docker ps
设置开机自启动systemctl enable docker.service
查看docker开机启动状态 enabled:开启, disabled:关闭systemctl is-enabled docker.service

二、docker swarm 集群配置

2.1 关闭selinux

vi /etc/selinux/config将 SELINUX=enforcing 改为 SELINUX=disabled #永久关闭,需要重启系统后生效setenforce 0 #临时生效

2.2 设置主机名称并加入/etc/hosts

代码如下(示例):

例如:192.168.33.11 master192.168.33.12 node01192.168.33.13 node02

2.3 修改各个服务器名称(uname -a 进行验证)

hostnamectl set-hostname docker_masterhostnamectl set-hostname docker_node01hostnamectl set-hostname docker_node02

2.4 初始化swarm

  1. 修改时间 date -s "2023-11-09 19:04:00"
  2. 把一台机器master充当管理节点,第二台node01 、第三台node02作为工作节点。
    在master节点执行:docker swarm init --advertise-addr {ip}
    {ip } 为实际master的 eth 网卡 对应的ip地址,命令执行后,会有如下信息
docker swarm join --token SWMTKN-1-05nc145s79y1l2zx1q4qtcfb0xtfzltzjb3gz757vwgi5o9y14-cgzm7zpcti9u9y3a53s8haq55 {ip}:{port}
  1. 这个回显的命令就是工作节点需要执行的命令,直接分别在node节点执行即可
    以上命令可以在master节点中执行 docker swarm join-token worker 进行获取

2.5 删除node节点

node节点执行 docker swarm leave
manager节点执行 docker swarm leave --force

三、安装 portainer(自选)

3.1 主节点机器,上传portainer.tar

docker load --input portainer.tar

创建portainer的数据存储路径 如 /data/server/portainer

3.2 启动portainer

docker run -d -p 39000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /data/server/portainer:/data -d portainer/portainer

替换路径后执行以上命令,访问ip:39000即可访问portainer页面,初次进入只需要设置用户名密码即可,直接点击local标签然后connect即可,其余无需操作

在这里插入图片描述

http://www.lryc.cn/news/237348.html

相关文章:

  • MySQL进阶_9.事务基础知识
  • IDEA调用接口超时,但Postman可成功调用接口
  • TableUtilCache:针对CSV表格进行的缓存
  • java源码-工程讲解
  • K8S基础笔记
  • 十一、统一网关GateWay(搭建网关、过滤器、跨越解决)
  • C语言--每日五道选择题--Day20
  • Fourier分析导论——第6章——R^d 上的Fourier变换(E.M. Stein R. Shakarchi)
  • 音视频技术在手机上的应用与挑战
  • 三十分钟学会SCALA
  • leetcode做题笔记242. 有效的字母异位词
  • 沸点 | Ultipa 图数据库金融应用场景优秀案例首批入选,金融街论坛年会发布
  • GaussDB SQL基础语法示例-GOTO语句
  • ClickHouse 物化视图
  • 原理Redis-ZipList
  • 小迪安全笔记——Web架构篇语言中间件数据库系统源码获取
  • Linux从 全栈开发 centOS 7 到 运维
  • Harmony Ble 蓝牙App (一)扫描
  • 录制第一个jmeter性能测试脚本2(http协议)——webtour
  • 时间序列与 Statsmodels:预测所需的基本概念(1)
  • 计算机网络(持续更新…)
  • BetterDisplay Pro for Mac(显示器校准软件)
  • Node.js之TCP(net)
  • 何时使用Elasticsearch而不是MySql?
  • nodejs微信小程序 +python+PHP+图书销售管理系统的设计与实现-网上书店-图书商城-计算机毕业设计
  • 云原生周刊:Istio 1.20.0 发布 | 2023.11.20
  • Ajax基础(应用场景|jquery实现Ajax|注意事项)
  • 【SpringCloud】Eureka基于Ribbon负载均衡的调用链路流程分析
  • Springboot和Vue+MYSQL项目(基本介绍+前后端结合初步项目)+maven+mybatis
  • 基于单片机K型热电偶温度采集报警系统