福州网站建设方案开发,网站改域名,ps做网站首页怎么,网站建设细化流程什么是ansible Ansible是一款基于OpenSSH开源的自动化运维工具#xff0c;可以用它来配置系统、部署软件和编排更高级的 IT 任务#xff0c;并且使用具有极高的安全性#xff0c;ansible是当前市面上主流的自动化运维工具之一
为什么使用ansible 比较直观的说#xff0c;… 什么是ansible Ansible是一款基于OpenSSH开源的自动化运维工具可以用它来配置系统、部署软件和编排更高级的 IT 任务并且使用具有极高的安全性ansible是当前市面上主流的自动化运维工具之一
为什么使用ansible 比较直观的说当你管理10台服务器安装系统的时候没有使用ansible的情况下需要的是重复在每台主机上执行相同的操作也许10台主机还好但是当我们管理100台甚至1000台呢这时候自动化工具就诞生了Puppet、SaltstackAnsibleansible能够使我们批量的部署和初始化受控并且保证了受控主机的一致性 减少了成本和人工提升了运维工作人员的效率。 Ansible有以下几个主要的优点 1. 简单易用Ansible使用简单的YAML语法进行配置不需要编写复杂的代码易于使用和学习。 2. 无需客户端Ansible不需要在目标主机上安装客户端只需要在控制节点上运行通过SSH和Python进行通信。 3. 基于模块化Ansible使用模块进行工作可以通过编写自定义模块扩展其功能也可以利用已有的众多模块来完成各种任务。 4. 可扩展性Ansible可以轻松扩展到成千上万台主机并支持并行执行任务以快速高效地管理大规模的基础设施。 5. 多平台支持Ansible可以在不同的操作系统平台上工作包括Linux、UNIX、Windows等。 安装ansible
配置yum仓库 vim /etc/yun.repo.d/aliyun.repo阿里云镜像仓库
[AppStream]
nameApp
baseurlhttps://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os
gpgcheck0[BaseOS]
namebase
baseurlhttps://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os
gpgcheck0配置扩展源
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm以上步骤完成后执行以下步骤
yum clean all
yum repolist
yum makecache 此时我们就可以使用yum 安装ansible了
yum install ansible -y
安装完成后 使用以下命令检查 显示版本信息 就欧克了 ansible --version
部署
在这里我们用到三台虚拟机
主机名ip角色ansible192.168.100.10控制节点ansible1192.168.100.11被控节点ansible2192.168.100.12被控节点 首先使用在控制节点的主机上生成密钥对 将公钥发送给被控节点 实现免密登录
ssh-keygen //在控制节点上生成密钥对ssh-copy-id -i ansible1 //将控制节点的共钥发送给 被控节点
ssh-copy-id -i ansible2//在被控节点上查看控制节点的公钥是否发送过来
vim /root/.ssh/authorized_keys //查看文件ssh ansible1 //尝试登录 域名解析可以在 /etc/hosts 文件下编辑
ssh ansible2 //也可以使用ip登录 ssh 192.168.100.12 当上述步骤完成后 我们就可以在控制主机上编辑ansible 主机的清单文件了
vim /etc/ansible/hosts ansible1
ansible2测试显示结果
[rootansible ~]# ansible all -m ping -o
ansible1 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/libexec/platform-python},changed: false,ping: pong}
ansible2 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/libexec/platform-python},changed: false,ping: pong}执行ansible剧本时当我们没有在控制主机的配置文件中指定角色时ansible剧本自动指定当前登录用户当我们使用普通用户时 执行yml文件在受控主机上权限有限 这时我们就需要在受控主机上提权提权的方法有以下两种。
第一种方法 将ansible用户提权和root用户一样 编辑 /etc/sudoers 文件
## Allow root to run any commands anywhere
root ALL(ALL) ALL
ansible ALL(ALL) NOPASSWD: ALL第二种方法 将wheel组不需要密码验证 并且将用户ansible 加入wheel组
第一步编辑/etc/sudoers文件
%wheel ALL(ALL) NOPASSWD:ALL
第二步将用户加入wheel组
[rootansible2 ~]# gpasswd -a ansible wheel