利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群
ansible、playbook、华为云、ceph
首先在华为云上购买搭建ceph集群所需云主机:






然后购买ceph所需存储磁盘



将购买的磁盘挂载到用来搭建ceph的云主机上

在跳板机上安装ansible

查看ansible版本,检验ansible是否安装成功

配置主机分组

测试结果

书写playbook文件内容如下:
---
#将yum文件同步到各个节点
- hosts: ceph
remote_user: root
tasks:
- copy:
src: /etc/yum.repos.d/ceph.repo
dest: /etc/yum.repos.d/ceph.repo
- shell: yum clean all
#给ceph-0001主机安装ceph-deploy,创建工作目录,初始化配置文件
- hosts: ceph-
remote_user: root
tasks:
- yum:
name: ceph-deploy
state: installed
- file:
path: /root/ceph-cluster
state: directory
mode: ''
#给所有ceph节点安装ceph相关软件包
- hosts: ceph
remote_user: root
tasks:
- yum:
name: ceph-osd,ceph-mds
state: installed
#给ceph-,ceph-,ceph-0003安装ceph-mon
- hosts: ceph-,ceph-,ceph-
remote_user: root
tasks:
- yum:
name: ceph-mon
state: installed
#初始化mon服务
- hosts: ceph-
tasks:
- shell: 'chdir=/root/ceph-cluster ceph-deploy new ceph-0001 ceph-0002 ceph-0003'
- shell: 'chdir=/root/ceph-cluster ceph-deploy mon create-initial'
#准备磁盘分区,创建journal盘,并永久修改设备权限,使用ceph-deploy工具初始化数据磁盘,初始化OSD集群,部署ceph文件系统
- hosts: ceph
remote_user: root
tasks:
- shell: parted /dev/vdb mklabel gpt
- shell: parted /dev/vdb mkpart primary %
- shell: chown ceph.ceph /dev/vdb1
- copy:
src: /etc/udev/rules.d/-vdb.rules
dest: /etc/udev/rules.d/-vdb.rules
- hosts: ceph-
remote_user: root
tasks:
- shell: 'chdir=/root/ceph-cluster ceph-deploy disk zap ceph-0001:vdc'
- shell: 'chdir=/root/ceph-cluster ceph-deploy disk zap ceph-0002:vdc'
- shell: 'chdir=/root/ceph-cluster ceph-deploy disk zap ceph-0003:vdc'
- shell: 'chdir=/root/ceph-cluster ceph-deploy disk zap ceph-0004:vdc'
- shell: 'chdir=/root/ceph-cluster ceph-deploy disk zap ceph-0005:vdc'
- shell: 'chdir=/root/ceph-cluster ceph-deploy disk zap ceph-0006:vdc'
- shell: 'chdir=/root/ceph-cluster ceph-deploy osd create ceph-0001:vdc:/dev/vdb1'
- shell: 'chdir=/root/ceph-cluster ceph-deploy osd create ceph-0002:vdc:/dev/vdb1'
- shell: 'chdir=/root/ceph-cluster ceph-deploy osd create ceph-0003:vdc:/dev/vdb1'
- shell: 'chdir=/root/ceph-cluster ceph-deploy osd create ceph-0004:vdc:/dev/vdb1'
- shell: 'chdir=/root/ceph-cluster ceph-deploy osd create ceph-0005:vdc:/dev/vdb1'
- shell: 'chdir=/root/ceph-cluster ceph-deploy osd create ceph-0006:vdc:/dev/vdb1'
- shell: 'chdir=/root/ceph-cluster ceph-deploy mds create ceph-0006'
- shell: 'chdir=/root/ceph-cluster ceph osd pool create cephfs_data 128'
- shell: 'chdir=/root/ceph-cluster ceph osd pool create cephfs_metadata 128'
- shell: 'chdir=/root/ceph-cluster ceph fs new myfs1 cephfs_metadata cephfs_data'
playbook具体执行过程如下:





前往ceph-0001管理主机上验证:集群已搭建成功

利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群的更多相关文章
- [k8s]kubespray(ansible)自动化安装k8s集群
kubespray(ansible)自动化安装k8s集群 https://github.com/kubernetes-incubator/kubespray https://kubernetes.io ...
- 利用ansible书写playbook搭建HAProxy+Keepalived+PXC负载均衡和高可用的PXC环境续
ansible.playbook.haproxy.keepalived.PXC haproxy+keepalived双主模式调度pxc集群 HAProxy介绍 反向代理服务器,支持双机热备支持虚拟主机 ...
- 代码迁移到华为云上和Git的坑
代码迁移到华为云上和Git的坑 先设置小乌龟Git上方式为ssh 参考链接:https://www.liangzl.com/get-article-detail-3586.html 注意:Tortoi ...
- 利用ansible进行自动化构建etcd集群
上一篇进行了手动安装etcd集群,此篇利用自动化工具ansible为三个节点构建etcd集群 环境: master:192.168.101.14,node1:192.168.101.15,node2: ...
- Ansible自动化部署K8S集群
Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新.Ansible适用于管理企 ...
- 阿里云重磅发布RDS for SQL Server AlwaysOn集群版
2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysO ...
- 003 ansible部署ceph集群
介绍:在上一次的deploy部署ceph,虽然出了结果,最后的结果并没有满足最初的目的,现在尝试使用ansible部署一遍,看是否会有问题 一.环境准备 ceph1充当部署节点,ceph2,ceph3 ...
- wsl2 ubuntu20.04 上使用 kubeadm 创建一个单主集群
wsl2 ubuntu20.04 上使用 kubeadm 创建一个单主集群 官方文档使用 kubeadm 创建一个单主集群 环境初始化 建议尽可能初始化环境,命令wsl --unregister Ub ...
- 如何通过云效Flow完成自动化构建—构建集群
如何通过云效Flow完成自动化构建-构建集群,云效流水线Flow是持续交付的载体,通过构建自动化.集成自动化.验证自动化.部署自动化,完成从开发到上线过程的持续交付.通过持续向团队提供及时反馈,让交付 ...
随机推荐
- Spring入门(十三):Spring MVC常用注解讲解
在使用Spring MVC开发Web应用程序时,控制器Controller的开发非常重要,虽然说视图(JSP或者是Thymeleaf)也很重要,因为它才是直接呈现给用户的,不过由于现在前端越来越重要, ...
- 第八届蓝桥杯java b组第六题
标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找 ...
- 夯实Java基础系列7:一文读懂Java 代码块和执行顺序
目录 Java中的构造方法 构造方法简介 构造方法实例 例 1 例 2 Java中的几种构造方法详解 普通构造方法 默认构造方法 重载构造方法 java子类构造方法调用父类构造方法 Java中的代码块 ...
- Spark Streaming 入门
概述 什么是 Spark Streaming? Spark Streaming is an extension of the core Spark API that enables scalable, ...
- FIT文件CRC校验
校验FIT文件CRC代码做个记录,分为两步先校验头部然后再校验整个FIT文件.校验头部不是必需的看个人需要吧.为了偷懒使用Okio库,还有计算CRC的时候用的Garmin的FitSDK. public ...
- jenkins+ant构建项目时候build.xml需要改动的地方说明
上一节将build.xml文件代码列出来了,这一节给出说明,要想使用该文件,需要变更的地方有哪些.
- 【Python】机器学习之单变量线性回归练习(计算Cost Function)
注:练习来自于吴恩达机器学习 翻译后的题目: 你是一个餐厅的老板,你想在其他城市开分店,所以你得到了一些数据(数据在本文最下方),数据中包括不同的城市人口数和该城市带来的利润.第一列是城市的人口数,第 ...
- jQuery三级联动效果代码(省、市、区)
很长时间都不用jquery了,有人问我jquery写三级联动的插件我就写好了发出来吧,正好需要的人都可以看看. 一.html代码 <!DOCTYPE html> <html> ...
- WordPress新用户注册时提示“您的密码重设链接无效”
在使用Wordpress密码找回功能及新用户注册邮件中的重置密码链接时,Wordpress提示“您的密码重设链接无效,请在下方请求新链接.”.“该key似乎无效”.“invalid key”. 这个其 ...
- Flask上下文管理机制流程(源码剖析)
Flask请求上下文管理 1 偏函数 partial 使用该方式可以生成一个新函数 from functools import partial def mod( n, m ): return n % ...