Linux自动化
文章平均质量分 72
喂小鸭
知不可乎骤得 托遗响于悲风
展开
-
saltstack系统初始化状态文件编写
目录selinuxfirewalld时间同步chronykernel文件描述符historyyum源基础命令zabbix-agent[root@master base]# tree init/init/├── chrony│ ├── files│ │ └── chrony.conf│ └── main.sls├── firewalld│ └── main.sls├── history│ └── main.sls├── kernel│ ├── files│原创 2021-11-13 12:03:15 · 735 阅读 · 0 评论 -
SaltStack之return与job管理
目录1. SaltStack组件之return1.1 return流程1.2 使用mysql作为return存储方式2. job cache2.1 job cache流程2.2 job管理1. SaltStack组件之returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数原创 2021-11-07 17:24:52 · 63 阅读 · 0 评论 -
SaltStack常用的模块
目录1. SaltStack模块介绍2. SaltStack常用模块2.1 SaltStack常用模块之network2.1.1 network.active_tcp2.1.2 network.calc_net2.1.3 network.connect2.1.4 network.default_route2.1.5 network.get_fqdn2.1.6 network.get_hostname2.1.7 network.get_route2.1.8 network.hw_addr2.1.9 netwo原创 2021-11-03 19:29:27 · 481 阅读 · 0 评论 -
SaltStack配置管理&数据系统
目录1. YAML语言2. 用SaltStack配置一个nginx实例2.1 在master上部署sls配置文件并执行2.2 在Minion上检查3. top file3.1 top file介绍3.2 高级状态highstate的使用4.SaltStack数据系统4.1 SaltStack组件之Grains4.2.SaltStack组件指之Pillar1. YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。原创 2021-11-02 22:25:43 · 1006 阅读 · 0 评论 -
SaltStack
目录1. SaltStack介绍1.1 自动化运维工具1.2 saltstack的特点1.3 saltstack服务架构2. SaltStack四大功能与四大运行方式3. SaltStack组件介绍4. SaltStack安装与最小化配置4.1 在控制机上安装saltstack主控端软件4.2 在被控机上安装salt-minion客户端4.3 saltstack配置文件5. SaltStack认证机制6. SaltStack远程执行7.SaltStack目标匹配saltstack模块分类:执行模块原创 2021-11-01 19:29:35 · 116 阅读 · 0 评论 -
Nginx实现动静分离
目录环境:DR上安装NginxDynamic安装LNMPStatic安装httpd配置动静分离访问测试:环境:系统IP服务CentOS8 动态192.168.235.160LNMPCentOS8 静态192.168.235.155NginxRedhat8 调度器 DR192.168.235.135Httpd关闭三台防火墙和selinux、修改主机名DR上安装Nginx//安装依赖包和工具包[root@dr ~]# yum -y install原创 2021-10-30 21:34:21 · 989 阅读 · 0 评论 -
zabbix监控nginx状态页面
系统IP安装的服务Redhat8 server192.168.235.135zabbix-server zabbix-agentdCentOS8 agent192.168.235.160nginx zabbix-agentd[root@wxy ~]# hostnamectl set-hostname zabbix[root@wxy ~]# bash[root@zabbix ~]# [root@localhost ~]# hostnamectl set-host...原创 2021-10-28 21:00:22 · 1187 阅读 · 0 评论 -
Nginx
目录一、nginx简介二、 nginx的特性与优点1、nginx的特性2、nginx的优点三、nginx的功能及应用类别1、nginx的基本功能2、nginx的扩展功能3、nginx的应用类别四、nginx的模块与工作原理1、nginx的模块分类2、nginx的工作原理五、nginx的安装与配置1、nginx的安装2、nginx配置六、nginx的配置文件详解1、nginx.conf配置详解2、用于调试、定位问题的配置参数一、nginx简介nginx(发音同engine x)是一款轻量级的Web服务器/原创 2021-10-25 22:22:52 · 1473 阅读 · 0 评论 -
lnmp部署
目录准备工作nginx安装mysql安装php安装修改nginx配置文件访问准备工作安装包[root@localhost ~]# lsphp-8.0.10.tar.xzmysql-5.7.34-linux-glibc2.12-x86_64.tar.gznginx-1.20.1.tar.gz解压[root@localhost ~]# tar xf nginx-1.20.1.tar.gz -C /usr/local/[root@localhost ~]# tar xf mysql-5.7.原创 2021-10-26 23:03:31 · 1535 阅读 · 0 评论 -
keepalived-脑裂监控
脑裂简介在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错)。 对付HA系统“裂脑”的对策,目前达成共识的的大概有以下几条:添加冗余的心跳线,例如:双线条线原创 2021-10-23 22:22:20 · 102 阅读 · 0 评论 -
keepalived 高可用
目录一、keepalived简介1、keepalived是什么?2、keepalived的重要功能3、keepalived高可用故障转移的原理4、keepalived工作原理描述二、keepalived实现httpd服务器高可用1、配置master的keepalived2、配置slave的keepalived3、在主和备主机上分别安装httpd高可用实现方式:Keepalived 在物理机、虚拟机上吧部署slb 在云主机上使用,自带负载均衡和高可用功能Keepalive 长连接原创 2021-10-21 23:36:53 · 211 阅读 · 0 评论 -
Esxi部署
1原创 2021-10-21 00:46:00 · 201 阅读 · 0 评论 -
kvm虚拟化
虚拟化:全虚拟化 裸金属(没有操作系统,纯硬件)上部署,性能强,不能嵌套半虚拟化 OS(系统)部署 嵌套虚拟化实现方式:kvm *esxi *xencitrix (银行)hyper-vvmware workstationvirualbox1. 虚拟化介绍虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。物理机我们一般原创 2021-10-20 23:33:23 · 428 阅读 · 0 评论 -
Jenkins简介及部署
简介 Jenkins的前身是Huds,是一个可扩展的持续集成引擎。Jenkins是一个[开源软件]项目,是基于[Java]开发的一种[持续集成]的流程化的工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。Jenkins的特点:开源的java语言开发持续集成工具,支持CI,CD;易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;消息通知及测试报告:集成RSS/E-mail通过RSS发布构建原创 2021-10-18 22:08:52 · 236 阅读 · 0 评论 -
常见的中间件
目录一、简介二、特点三、常见的中间件1、tomcat2、Jetty3、JBoss4、Weblogic5、WebSphere一、简介中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。 执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。中间件是介于原创 2021-10-17 18:24:58 · 2861 阅读 · 0 评论 -
lvs三种模式
目录集群的分类: 负载均衡 提升效率 高可用 保障关键性业务的可靠性 高性能 科学计算、天气预报负载均衡集群实现的方式 软件实现方式 lvs (四层负载,大型公司) haproxy nginx (七层负载) 硬件实现的方式:F5lvs的三种模式: NAT DR TUN 隧道模式:要求系统支持隧道,必须用公网四层负载 效率高,七层负载lvs:Linux Virtual Serverlvs的三种模式:NATDRTU原创 2021-10-15 11:04:20 · 58 阅读 · 0 评论 -
cobbler服务端部署(centos7)
// 关闭防火墙和selinux[root@localhost ~]# systemctl disable --now firewalld.service[root@localhost ~]# getenforceDisabled配置yum源[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo[root@localh原创 2021-10-13 23:56:21 · 170 阅读 · 0 评论 -
cobbler服务端部署(centos8)
发布、发版、上线的流程:(生产环境) 运营人员 提出需求 开发人员 提交变更单 测试人员 有问题:打回 修复BUG 运维人员 评估 汇报(通过邮件汇报) CTO 首席技术总监1. cobbler简介Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可原创 2021-10-12 22:01:28 · 178 阅读 · 0 评论 -
gitlab界面配置(用户、组、权限、项目)
目录用户组权限项目用户组权限项目[root@localhost ~]# git clone http://192.168.235.143/group1/yaya-project.git正克隆到 'yaya-project'...Username for 'http://192.168.235.143': rootPassword for 'http://[email protected]': remote: Enumerating objects:原创 2021-10-12 18:10:53 · 135 阅读 · 0 评论 -
Linux安装svn服务
SVN简介Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。SVN 的一些概念repository(源代码库): 源代码统一存放的地方Checkout(提取): 当你手上没有源代码的时候,你需要从repository checkout一份C原创 2021-10-12 10:51:31 · 391 阅读 · 0 评论 -
版本控制gitlab
1. 版本控制介绍版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本原创 2021-10-11 23:15:30 · 83 阅读 · 0 评论 -
mysql主从&zabbix用户和组权限&声音报警
监控MySQL主从状态mysql> grant replication slave on *.* to 'repl'@192.168.235.115 identified by '123';Query OK, 0 rows affected, 1 warning (0.53 sec)原创 2021-10-10 22:03:34 · 172 阅读 · 0 评论 -
zabbix自定义监控(进程、日志文件)
自定义监控进程 写脚本,j脚本要放到统一位置 修改/usr/local/etc/zabbix_agent.conf文件 UnsafeUserParameters=1 UserParameter=<key>,<command>重启zabbix_agent在web界面配置监控项和触发器自定义监控日志 写脚本,j脚本要放到统一位置 修改/usr/local/etc/zabbix_agent.conf文件 UnsafeUserParameters=1 Use原创 2021-10-09 12:29:53 · 206 阅读 · 0 评论 -
MySQL
MySQL安装mysql安装方式有三种:1、源代码:编译安装2、二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用3、程序包管理器管理的程序包:rpm:有两种OS Vendor:操作系统发行商提供的项目官方提供的debMySQL配置#启动mysql并设置开机自动启动systemctl enable --now mariadbsystemctl status mariadb#确保3306端口已经监听起来ss -antlLISTEN 0 8原创 2021-08-23 16:25:33 · 129 阅读 · 0 评论 -
利用角色简化playbook
目录一、描述角色结构1、利用角色构造ansible playbook2、检查ansible角色结构二、利用系统角色重用内容三、创建角色四、使用ansible galaxy部署角色一、描述角色结构1、利用角色构造ansible playbook随着开发更多的playbook,我们可能会发现有很多机会重复利用以前缩写的playbook中的代码。或许,一个用于为某一应用配置MySQL数据库的play可以改变用途,通过利用不同的主机名、密码和用户来为另一个应用配置MySQL数据库。但在现实中,这个play可原创 2021-08-02 21:40:26 · 112 阅读 · 0 评论 -
管理大项目
目录一、利用主机模式选择主机1、引用清单主机2、受管主机3、使用组指定主机4、使用通配符匹配多个主机5、列表二、管理动态清单1、动态生成清单2、开源社区脚本3、编写动态清单文件4、管理多个清单三、配置并行1、使用分叉在ansible中配置并行2、管理滚动更新一、利用主机模式选择主机1、引用清单主机主机模式用于指定要作为play或临时命令的目标的主机。在最简单的形式中,清单中受管主机或主机组的名称就是指定该主机或主机组的主机模式。在play中,hosts指定要针对其运行play的受管主机。对于临时命令原创 2021-07-30 14:25:14 · 99 阅读 · 0 评论 -
在被管理节点上创建文件或目录
目录一、修改文件并将其复制到主机1、描述文件模块2、files模块的自动化示例2.1 确保受管主机上存在文件2.2、修改文件属性2.3、使SELinux文件上下文更改具有持久性2.4、在受管主机上复制和编辑文件2.5、在受管主机上删除文件2.6、检索受管主机上的文件状态2.7、同步控制节点和受管主机之间的文件一、修改文件并将其复制到主机1、描述文件模块Files模块库包含的模块允许用户完成与Linux文件管理相关的大多数任务,如创建、复制、编辑和修改文件的权限和其他属性。下表提供了常用文件管理模块的列原创 2021-07-27 22:55:23 · 204 阅读 · 0 评论 -
实施任务控制
目录一、编写循环和条件任务1、利用循环迭代任务1.1、简单循环1.2、循环散列或字典列表1.3、将Register变量于Loop一起使用2、有条件的运行任务2.1 条件任务语法2.2测试多个条件3、组合循环和有条件任务二、实施处理程序1、ansible处理程序2、使用处理程序的好处三、处理任务失败1、管理play中的任务错误2 、忽略任务失败3、任务失败也强制执行处理程序(handlers)4、指定任务失败的条件5、指定何时任务报告 “Changed” 结果6、Ansible块和错误处理一、编写循环和条件原创 2021-07-27 21:25:00 · 89 阅读 · 0 评论 -
playbook部署lamp(一台主机)
环境准备:主机ipansible192.168.235.135lamp192.168.235.145创建目录及文件[root@ansible lamp]# tree.├── files│ ├── httpd.conf│ ├── httpd-vhosts.conf│ ├── index.php│ └── www.conf├── tasks│ └── lamp.yml└── vars ├── package.yml ├原创 2021-07-26 15:27:24 · 111 阅读 · 0 评论 -
ansible管理机密、事实
目录一、管理机密1、什么是Ansible Vault2、使用ansible-vault创建加密文件一、管理机密1、什么是Ansible VaultAnsible提供的Ansible Vault可以加密和解密任何由Ansible使用的结构化数据文件若要使用Ansible Vault,可通过一个名为ansible-vault的命令行工具创建、编辑、加密、解密和查看文件Ansible Vault可以加密任何由Ansible使用的结构化数据文件。包括清单变量、playbook中含有的变量文件、以及在执行原创 2021-07-25 21:52:17 · 284 阅读 · 0 评论 -
playbook源码部署apache
环境准备:hostnameIP地址ansible192.168.235.135apache192.168.235.141配置ssh免密登录[root@ansible ~]# ssh-keygen -t rsa Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa already exists原创 2021-07-22 19:13:41 · 154 阅读 · 0 评论 -
playbook的特殊用法及变量的使用
目录playbook的特殊用法1、YAML注释2、YAML字符串3、YAML字典4、YAML列表变量的使用1、Ansible变量简介2、命名变量3、定义变量4、playbook中的变量5、主机变量和组变量6、从命令行覆盖变量7、使用数组作为变量8、使用已注册变量捕获命令输出playbook的特殊用法1、YAML注释注释也可以用于提高可读性。在YAML中,编号或井号字符(#)右侧的所有内容都是注释。如果注释的左侧有内容,请在该编号符号的前面加一个空格。#This is a YAML comment[原创 2021-07-22 16:30:11 · 813 阅读 · 0 评论 -
playbook部署lamp分离部署
环境准备:主机IP/主机名ansible192.168.235.135apache192.168.235.141mysql192.168.235.142php192.168.235.143Apache[root@ansible playbook]# cat apache.yml ---- name: apache install and config hosts: apache tasks: - name: stop and dis原创 2021-07-21 17:13:16 · 131 阅读 · 1 评论 -
playbook的使用
目录一、Playbook简介二、playbook格式三、Playbook的核心元素四、playbook的使用1、实施一个play任务2、执行空运行3、运行playbook4 、实施多个play5、play中的远程用户和特权升级一、Playbook简介playbook 是由一个或多个play组成的列表,主要功能是将task定义好的角色归并为一组进行统一管理,也就是通过Ansible的模板将多个play组织在一个Playbook中运行。二、playbook格式playbook由YMAL语言编写。YAML原创 2021-07-21 00:05:04 · 584 阅读 · 0 评论 -
lamp分离部署
lamp分离部署利用ansible对受控主机进行lamp的分离部署环境准备:主机名IP地址ansible192.168.235135apache192.168.235.139mysql192.168.235.140php192.168.235.141在ansible主机上添加受管主机清单[root@wxy ansible]# cat inventory [apache]192.168.235.139[mysql]192.168.235.1原创 2021-07-19 03:36:14 · 415 阅读 · 2 评论 -
ansible常用模块
目录ansible常用模块1、user模块2、copy模块3、script模块4、service模块5、command/raw/shell模块区别6、lineinfile模块7、template模块8、yum模块9、ping模块10、blockinfile模块ansible常用模块1、user模块创建用户[root@wxy ansible]# ansible localhost -m user -a"name=wxy state=present comment="这是美女用户""localhos原创 2021-07-18 21:28:00 · 92 阅读 · 1 评论 -
ansible部署
模块的使用user模块演示(创建修改删除)1、ansible清单作用定义了Ansible管理的一批主机名单,通过执行Ansible模块,在调用过程中直接对清单中的主机进行批量管理。[root@wxy ansible]# vim ansible.cfg[defaults]# some basic default values...#inventory = /etc/ansible/hostsinventory = /etc/ansible/inventory[root@w原创 2021-07-16 17:16:14 · 196 阅读 · 0 评论