使用Certbot对Apache的SSL证书自动续期
这里用CentOS 8的root用户进行操作,其他系统有些许差别,但不会太多。非root用户在命令前添加sudo指令即可。 一、安装snap 安装epel dnf install epel-release -y 安装snapd dnf install snapd -y 设置开机启动 systemctl enable --now snapd.sock…
搭建Frp服务器
Frp项目地址:https://github.com/fatedier/frp Frp下载地址(可能过时):https://mirror.ghproxy.com/https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gz 一、服务器租…
Ansible 系统角色
RHEL系统角色 RHEL附带了多个Ansible角色。使用它们需要安装rhel-system-roles软件包。在RHEL8中,需要启用AppStream软件仓库以安装此软件包。 在 Red Hat Enterprise Linux 8 中,该接口目前由以下角色组成: kdumpnetworkselinuxstoragecertificateke…
Ansible Galaxy
指令:Ansible-Galaxy 创建角色框架 使用命令自动创建 ansible-galaxy init [角色名] 默认情况Ansible会在当前项目的目录中的角色目录中查看角色,前提是角色目录存在。 如果不存在,将会在当前环境变量中查找指定的角色。 创建框架的结构请看Ansible Roles(角色) 使用Ansible Galaxy…
Ansible Roles(角色)
随着编写越来越多的剧本,很多代码都存在重复利用的场景,而且在play中修改会导致代码臃肿,所以我们使用Roles进行重复调用代码。简单来说,Roles是通过分别将各种代码、文件放置在单独目录中,可以方便include的一种机制。 Ansible Roles目录是一个标准的树状结构,顶级目录是Roles的名称,子目录存放相应资源。 tree http…
包含和导入文件
剧本可以作为类似模块进行引用,使多个剧本组合为一个剧本,或将文件中的任务列表插入到剧本中。使能更加简单地管理操作项目中的剧本和任务序列。 包含和导入的区别 包含:(include) 在剧本执行时内容到达时才处理包含的内容。 导入:(import) 在Ansible开始运行时就处理好并导入到要执行的剧本中。 导入范例: 主剧本: cat serial…
Ansible 配置并行
Forks设置并行进程数 Ansible提供forks的属性,可以设置并行进程数。默认为5个。根据性能及网络,可以自行设定。 环境变量:export ANSIBLE_FORKS=50ansible.cfg内设置:forks=50运行ansible时添加参数:-f 50 滚动更新 负载均衡服务器中,更新需要重启的服务如果同时开始更新,可能会导致所有服…
Jinja2 语法
Jinja2 是一个于python的模板引擎。类似php的smarty模板。 基本语法 注释 {# [注释内容] #}变量引用 {{ [变量] }}逻辑表达 {% %} 在playbook内调用需要使用template模块。 变量赋值 优先度高于playbook {% set hostname = 'servera' %} #hostname为变量…
Ansible任务控制和处理
使用循环迭代任务 通过循环,我们无需重复编写同一模块任务。比如,不需要编写多个service任务来启动多个服务,而只需要在一个任务内配置服务列表进行迭代,从而保证需要的服务全部开启。 简单循环 通过{{ item }}进行调用 范例: cat loop.yaml --- - name: 简单循环 hosts: dev tasks: - name: …
Facts管理
FACTS,即事实,是受控主机的真实信息。是Ansible用于采集受控节点设备信息的一个工具。采集的信息主要是IP地址,操作系统,以太网设备,mac地址,时间和日期相关数据,硬件信息等等。 Ansible facts用法 使用setup模块获取受控节点的所有facts信息,可以使用filter查看指定信息。 setup模块获取的整个facts信息被…