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

制作企业网站公司排名百度统计代码

制作企业网站公司排名,百度统计代码,常熟市网页设计公司,办公家具 技术支持 东莞网站建设目录 Ansible 框架介绍1、Ansible 框架特点2、Ansible 工作流程3、ansible 安装方式 Ansible 配置管理1、配置读取顺序2、常见的配置项 Ansible 主机清单1、主机清单文件结构2、主机清单常用变量 Ansible 剧本介绍1、剧本的结构和特点2、单个 Play 的结构3、单个 tasks 的结构 …

目录

    • Ansible 框架介绍
      • 1、Ansible 框架特点
      • 2、Ansible 工作流程
      • 3、ansible 安装方式
    • Ansible 配置管理
      • 1、配置读取顺序
      • 2、常见的配置项
    • Ansible 主机清单
      • 1、主机清单文件结构
      • 2、主机清单常用变量
    • Ansible 剧本介绍
      • 1、剧本的结构和特点
      • 2、单个 Play 的结构
      • 3、单个 tasks 的结构
    • Ansible 常用命令
      • 1、ansible 命令
      • 2、Ansible-playbook
    • Ansible 常用模块
      • 1、command 模块
      • 2、shell 模块
      • 3、systemd 模块
      • 4、replace 模块

Ansible 框架介绍

Ansible 是通过Python开发的一个简单好用的自动化运维工具,可以实现对成百上千个主机进行统一管理,实现相关流程的自动化。

  • Ansible 官网地址:www.ansible.com
  • Ansible 中文手册:https://ansible-tran.readthedocs.io

1、Ansible 框架特点

  1. 基于 SSH 无代理机制工作,被控端不需要安装任何额外软件或服务,只需要保证被控端安装并开启SSH服务且有 Python环境即可。
  2. Ansible 只是一个框架,是通过调用模块实现具体功能,Ansible提供了上千个模块,可以实现常见的自动化运维功能。

2、Ansible 工作流程

  1. 首先Ansible会解析具体的任务列表,获取需要对哪些受控节点操作,以及每个具体的任务使用哪个模块实现。
  2. 然后Ansible会在一个名为主机清单的文件中查找对应受控节点的SSH连接信息,并建立SSH连接。
  3. 具体的任务会被指定的模块生成临时的Python代码或命令,并通过 SSH 拷贝到远程主机执行,并在执行后自动清理。
  4. 等到执行完成后,会将执行结果(成功、失败、是否变更)通过 JSON 格式回传给控制节点,并输出到控制台。

3、ansible 安装方式

  • 方式一:通过包管理工具进行安装,例如apt、yum等。会自动下载并安装Ansible所需的依赖。
  • 方式二:以模块的方式安装在当前的Python环境中,这种方式能安装较新的Ansible版本。

两种方式使用上是没有区别的,任选其一即可

Ansible 配置管理

1、配置读取顺序

优先级路径说明
最高./ansible.cfg会在执行命令的当前目录下寻找是否存在名为ansible.cfg的文件
次高~/.ansible.cfg会在当前用户家目录下寻找是否存在名为ansible.cfg的文件
最低/etc/ansible/ansible.cfg如果前面两个都没找到,就匹配/etc/ansible下的ansible.cfg

查看当前使用的配置文件路径:ansible --version

2、常见的配置项

Ansible 配置文件采用 INI 格式,即[section] + key=value 结构,常见的一些配置项如下:

[defaults] 配置块

  • 配置块作用:默认配置项,定义一些默认参数选项。
  • 常见配置项:
# 默认配置部分
[defaults]
inventory         = /etc/ansible/hosts     # 指定主机清单(Inventory)文件路径
remote_user       = root                   # 如果不指定用户名,默认使用该用户进行远程SSH连接
ask_pass          = false                  # 设置为 false 表示默认不主动提示你输入 SSH 登录密码。
host_key_checking = False                  # 是否需要检查指纹(known_hosts),要设置为False,适合自动化场景
log_path = /var/log/ansible.log            # Ansible的日志路径(需手动创建该文件)
timeout = 10                               # SSH 连接超时时间,默认即可。
forks = 10                                 # 并发处理的主机数,即如果需要处理若干个主机,能同时处理的数量。
private_key_file = ~/.ssh/id_rsa           # 如果采用私钥连接,不指定私钥路径时,使用该私钥进行连接

[privilege_escalation] 配置块

  • 配置块作用:和提权有关的设置项,所谓提权就是以指定用户身份执行某些操作。例如:sudo
  • 常见配置项:
[privilege_escalation]
become = true            # 是否默认启用 sudo 提权
become_method = sudo     # 提权方式(如:sudo、su、pbrun 等)
become_user = root       # 要切换的用户,默认是 root
become_ask_pass = false	 # 是否提示输入 sudo 密码

[ssh_connection] 配置块

  • 配置块作用:SSH 连接行为配置
  • 常见配置项:
pipelining	     # 是否启用 pipelining 模式,减少 SSH 连接次数,提高性能
ssh_args	     # 额外 SSH 参数(如 -C 启用压缩)
control_path	 # SSH 连接复用时的控制路径模板
control_persist	 # 控制连接保持时间
scp_if_ssh	     # 当使用 SSH 复制文件时是否使用 scp 或 sftp

Ansible 主机清单

Ansible 的主机清单中记录了需要管理的服务器列表,一般主机清单采用 INI 格式进行编写。

主机清单默认路径:/etc/ansible/hosts

1、主机清单文件结构

  1. 使用 [section] 声明主机组,每个组内可列出一个或多个 IP 地址或主机名。
  2. 每个主机还可以通过 变量(Vars) 指定连接信息,如用户名、端口、密码等。
  3. 可以通过IP地址扩展的语法来简化批量指定 IP 地址。范围语法为 [起始:结束],中间不能有空格;

2、主机清单常用变量

变量名说明
ansible_host指定目标主机的实际 IP 地址或主机名
ansible_userSSH 连接使用的远程用户名
ansible_ssh_passSSH 登录密码
ansible_portSSH 连接端口,不指定默认 22
ansible_ssh_private_key_file指定 SSH 私钥路径,用于密钥认证
ansible_become是否启用权限提升(例如 sudo)

例如:指定主机清单的时候,使用公共变量指定主机清单,这样可以简化操作。

[dev]
10.0.28.7
10.0.28.10[test]
10.0.0.127
10.0.0.135# [all:vars] 表示对所有组生效的公共变量配置。
[all:vars]
ansible_user=root
ansible_password=Mima@2024

例如:通过IP 扩展语法来批量指定 IP 地址

[test]
10.0.[0:3].[2:254] ansible_user=ehigh ansible_ssh_pass=Abc123

Ansible 剧本介绍

Ansible 中的剧本(Playbook)是采用 YAML 格式编写的脚本,能够描述一组自动化操作。一个剧本由一个或多个“剧”(Play)组成,每个 Play 指定一组主机及要在这些主机上执行的任务,从而实现远程主机的批量配置与管理。

1、剧本的结构和特点

  • 剧本本身是一个 YAML 列表(即以 - 开头),其中的每个元素就是一个 Play。
  • 每个 Play 是一个字典,用于定义在哪些主机上执行哪些任务。

2、单个 Play 的结构

  • 必须字段(最小结构):
字段说明
hosts指定目标主机或主机组
tasks定义要执行的任务列表(tasks 是一个列表)

说明:这两个字段缺一不可,缺了 Playbook 就无法执行。

  • 可选字段:
字段类型说明
name字符串为 Play 命名,提升可读性和日志信息
become布尔是否使用 sudo 权限执行(通常设置为 yes
vars字典为该 Play 定义变量
roles列表引用已定义的角色,适合模块化管理
handlers列表定义“触发式任务”,通常与 notify 配合使用
gather_facts布尔是否收集目标主机的硬件/系统信息(默认为 true

3、单个 tasks 的结构

每个 task 是一个字典,其中必须包含一个模块,模块名直接作为 task 的一个键出现,键的值是该模块所需的参数,也是一个字典。

- hosts: alltasks:- name: 测试连接ping:  # ping 就是模块名

说明:一个tasks中有且仅有一个模块

例如:批量初始化操作系统环境的剧本

- name: 初始化部署环境hosts: test # 只对test这个主机组的主机操作vars: # 定义变量tarball_name: DeploySystem-Kylin-V10-offline_v1.9.2_V6.3.1.tar.gztarball_dest: /rootinstall_dir: /root/DeploySystem-Kylin-V10-offline_v1.9.2_V6.3.1# 具体的任务定义tasks:- name: 1.永久禁用SELinuxreplace: # 使用 replace 模块实现path: /etc/selinux/configregexp: '^SELINUX=.*'replace: 'SELINUX=disabled'- name: 2.关闭当前 SELinux(临时)command: setenforce 0  # 使用 command 模块实现ignore_errors: yes  # 如果selinux本来就是关闭的,不设置这个可能会报错停止- name: 3.停止firewalld.servicesystemd: # 使用 systemd 模块实现name: firewalldstate: stoppedenabled: no- name: 4.上传本地离线安装包到指定主机copy: # 使用 copy 模块实现src: ./DeploySystem-Kylin-V10-offline_v1.9.2_V6.3.1.tar.gzdest: "{{ tarball_dest }}/"mode: '0644'- name: 4.解压安装包unarchive: # 使用 unarchive 模块实现src: "{{ tarball_dest }}/{{ tarball_name }}"dest: "{{ tarball_dest }}"remote_src: yes  # 告诉 Ansible:src 指定的文件已经在远程主机上,不需要从控制节点上传。- name: 5. 执行 install.sh 脚本command: bash "{{ install_dir }}/install.sh"

Ansible 常用命令

1、ansible 命令

ansible 命令用于 ad-hoc 模式,即临时命令执行,适合一条命令搞定的任务

语法格式

ansible <主机组> -m <模块名> -a "<模块参数>"

说明:ansible默认会从配置文件指定的主机清单中读取指定主机组下的主机信息

常用参数

  • 基本选项:
参数说明
-i <inventory>手动指定主机清单文件,不用默认的( /etc/ansible/hosts
-m <模块名>指定要使用的模块,如 pingshellcopy
-a "<参数>"指定需要给模块传的参数信息,多个参数之间使用空格分隔
  • 调试参数:
参数说明
--check加上这个参数后,不会真正执行更改,而是执行“试运行”
-v, -vv, -vvv设置详细输出级别(调试用)
  • 安全参数:
参数说明
--limit <主机>限定只对某些主机执行(支持主机名、IP、通配符)

例如

ansible test  -m ping

2、Ansible-playbook

Ansible 的playbook 模式,需要提前先写好YAML格式的剧本文件,然后使用ansible-playbook命令来解析剧本并执行。

语法格式

ansible-playbook [选项] playbook.yml

常用参数

  • 基础参数:
选项说明
--syntax-check检查 Playbook 语法是否正确
--list-tasks列出将要执行的所有任务(不执行)
--list-hosts列出将会受影响的主机
  • 调试参数:
选项说明
--check试运行,不实际变更目标主机(dry-run 模式)
-v / -vv / -vvv / -vvvv设置输出的详细程度(调试用)

例如

ansible-playbook  KylinV10_init.yaml

Ansible 常用模块

通过 ansible-doc 模块名称 就可以列出Ansible指定模块的使用方法了。

1、command 模块

  • 模块作用:在目标主机上执行命令,不支持shell的一些例如管道符、重定向、变量等特性。
  • 模块特点:会直接调用你写的命令程序,而不是先用shell来解析命令字符串,也就是会直接指定的命令字符串分割成一个程序名和参数

说明:使用 command 模块时,推荐使用命令的绝对路径,这样可以避免因为远程主机环境不同、$PATH 配置不一致而导致命令无法找到的问题。

例如:这样写就会解析失败

tasks: 
- name: 使用 command 模块command: echo hello > /tmp/hello.txt# 会被解析为 ["echo", "hello", ">", "/tmp/hello.txt"]

2、shell 模块

  • 模块作用:功能和command类似,都是在远程主机上执行命令,但是shell模块支持 完整的 shell 语法特性
  • 模块特点:会将写的命令作为一整个字符串,交给远程主机的 shell(默认是 /bin/sh)来执行
  • 常用参数:通过 args 这个键来指定常用参数,这个键的值是一个字典,所以如果存在多个参数,这些参数以键值对的形式出现。
参数说明
chdir先进入某个目录再执行命令
creates如果指定文件已存在,则不执行该命令
removes如果指定文件不存在,则不执行该命令
executable指定用哪个 shell 来执行,默认是 /bin/sh

3、systemd 模块

  • 模块作用: 专门用来管理 systemd 服务的模块,相当于在远程主机上运行 systemctl 命令
  • 模块特点:参数不能写在 args 键下,必须直接写在 systemd 模块下面
  • 常用参数:
参数类型说明
name字符串必填,服务名,例如 nginxsshd
state字符串如何管理服务,startedstoppedrestartedreloaded
enabled布尔值是否设置为开机自动启动
masked布尔值是否 mask 服务(禁止启动)
daemon_reload布尔值是否执行 systemctl daemon-reexec,通常在 service 文件变更后使用

例如:启动NGINX服务

- name: 启动 nginx 服务systemd:name: nginxstate: startedenabled: yes

4、replace 模块

  • 模块作用:在远程主机上的文本文件中查找并替换内容
  • 模块特点:可以理解为就是结构化的 sed -i 命令,但是replace模块支持普通正则和扩展正则。
  • 常用参数:
参数类型说明
path字符串必须有,要修改的目标文件路径
regexp字符串(正则)必须有,要匹配的正则表达式
replace字符串必须有,用于替换的新文本(支持反向引用)
backup布尔值是否在替换前创建 .bak 备份文件
after字符串只在匹配该行之后开始替换(可选)
before字符串只在匹配该行之前进行替换(可选)

例如:禁用SeLinux

- name: 1.永久禁用SELinuxreplace: # 使用 replace 模块实现path: /etc/selinux/configregexp: '^SELINUX=.*'replace: 'SELINUX=disabled'
http://www.dtcms.com/wzjs/21174.html

相关文章:

  • 购物网站开发的目的意义北京seo运营
  • 分类信息网站制作网上推广平台
  • 南昌冶金建设有限公司网站网站建设的流程是什么
  • 鄂城区疫情最新消息湖南企业竞价优化服务
  • 网站开发用主要软件百度浏览器手机版
  • 泸州住房和城乡建设厅网站肇庆网站搜索排名
  • 大学网页制作搜题软件seo赚钱培训
  • 国外网站服务器免费网络营销大师排行榜
  • 做网站对服务器要求seo在线教学
  • 贵阳网站建设公司网站关键词
  • 安徽池州做网站的公司竞价托管推广哪家好
  • 网站广告弹出来代码网站权重是什么意思
  • 绵阳网站建设培训学校网络推广站
  • 手机app在哪里找免费网站建设seo
  • 做网站致富宁波网站seo公司
  • 深圳网站建设服务联系方式口碑最好的it培训机构
  • 做棋牌网站的步骤免费推广网站2023mmm
  • 科技创新可以被分成三种类型网站seo综合查询
  • 武汉专业网站建设南京百度搜索优化
  • 网站建设横条百度推广怎么注册账号
  • 徐州网站制作企业北京网站制作建设公司
  • 网站改版重新收录购物网站大全
  • 网站怎么做移动的图片网站排名优化制作
  • 新手做地方门户网站中央网站seo
  • 广州网站推广电话短视频营销优势
  • 企业网站seo参考文献搜索引擎优化到底是优化什么
  • 在线ps手机版网页版成都关键词优化服务
  • 网站建设带采集昆明seo外包
  • 企业建站公司案例网站点击排名优化
  • 谁会网站开发免费seo网站推广在线观看