通过ansible-playbook部署minio集群

系列文章目录

ansible相关知识入门文章
rpmbuild构建minio



前言

首先,查看本文章前先阅读一下顶部的两篇文章,因为本篇文章主要依赖于ansible-playbook和通过rpmbuild构建好的minio安装包进行编写的,如果需要用我构建好的minioRPM包,可以在该地址自行下载(https://download.csdn.net/download/weixin_50902636/89642252)。同时,写该篇文章不仅是为了加深playbook的使用,更是为了交付团队更好的交付。使得客户安装部署更加简洁明了,维护中间件更加方便。


一、部署目标

1、部署过程中可以指定部署服务器IP,并对这些ip进行存活性验证
2、部署过程中可以指定minio的数据目录和安装目录
3、结合构建好的minio-RPM包快速的部署出一个四节点的minio集群

二、部署流程

主要思想: 通过指定hosts文件中安装minio服务器IP的数量来判断,如果只有一个ip,则执行单节点minio安装,如果是多个ip,则执行集群minio安装。其中安装和启动单点或者集群都通过ip数量来控制

1.部署清单目录结构

├── hosts
├── minio
│   ├── files
│   │   └── minio-RELEASE_2023_05_18-1.x86_64.rpm
│   ├── handlers
│   ├── meta
│   ├── tasks
│   │   ├── check.yml
│   │   ├── config.yml
│   │   ├── install.yml
│   │   ├── main.yml
│   │   ├── setup.yml
│   │   └── start.yml
│   ├── templates
│   │   ├── cluster_run.sh.j2
│   │   ├── minio_restart.sh.j2
│   │   ├── single_run.sh.j2
│   │   └── stop.sh.j2
│   └── vars
│       └── main.yml
└── minio.yml

2.files目录解析

files目录一般用于存放安装包源文件

3.tasks目录解析

3.1、main.yml

指定在执行ansible-playbook过程中yml文件的执行顺序和名称。即执行哪些yml文件,就以下方的形式添加在此处即可

- include: setup.yml
- include: install.yml
- include: config.yml
- include: start.yml
- include: check.yml

3.2、setup.yml

在此处的作用是根据vars目录main.yml文件中定义的变量创建目录

- name: create data dir
  file:
    path: "{
   
   {DATA_DIR}}"
    state: directory

3.3、install.yml

执行RPM包安装的步骤,将rpm包拷贝到对应主机目录下,执行安装并删除对应主机上的rpm包,并判断安装命令是否执行成功

- name: copy minio rpm
  copy:
    src: "{
   
   {Package_Name}}"
    dest: /tmp/"{
   
   {
   
   Package_Name}}"
- name: install minio rpm package
  yum:
    name: /tmp/"{
   
   {
   
   Package_Name}}"
    state: present
  register:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值