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

致力于网站建设南昌网站建设模板下载网址

致力于网站建设,南昌网站建设模板下载网址,下载wordpress低版本,建设网站怎么学文章目录 一、ansible的主要组成部分二、安装三、相关文件四、ansible配置文件五、ansible 系列 一、ansible的主要组成部分 ansible playbook#xff1a;任务剧本#xff08;任务集#xff09;#xff0c;编排定义ansible任务集的配置文件#xff0c;由ansible顺序依次执… 文章目录 一、ansible的主要组成部分二、安装三、相关文件四、ansible配置文件五、ansible 系列 一、ansible的主要组成部分 ansible playbook任务剧本任务集编排定义ansible任务集的配置文件由ansible顺序依次执行通常是json格式的yml文件。 inventoryansible管理主机的清单/etc/ansible/hosts modulesansible执行命令的功能模块多数为内置核心模块也可自定义 plugins模块功能的补充如连接类型的插件、循环插件变量插件过滤插件改功能不常用 api供第三方程序调用的应用程序编程接口 ansible组合inventoryapimodulesplugins的绿框可以理解为ansible命令工具其为核心执行工具ansible命令执行来源 user普通用户即system administrator cmdb配置管理数据库api调用 public/private cloud api调用 user -- ansible playbook -- ansible利用ansible实现管路的方式 Ad-Hoc 即ansible命令。主要用于临时命令使用场景 ansible-playbook 主要用于长期规划好的大型项目的场景需要有提前的规划ansible-playbook执行过程 将已经编排好的任务集写入ansible-playbook 通过ansible-playbook命令分拆任务集至逐条ansible命令按预定规则逐条执行ansible的主要操作对象 HOSTS主机 NETWORKING网络设备注意事项 执行ansible的主机一般称为主控端中控master或者堡垒机 主控端python版本需要在2.6或者以上 被控端python版本小鱼2.4需要安装python-simplejson 被控端如开启SELinux需要安装libselinux-python Windows不能作为主控端 二、安装 rpm包安装EPEL源 yum -y install ansible 编译安装 yum -y install python-jinjia2 PyYAML python-paramiko python-babel python-crypto tar -xf ansible-1.5.2.tar.gz cd ansible-1.5.4 python setup.py build python setup.py install mkdir /etc/ansible cp -r examples/* /etc/ansible/ Git方式git clone git://github.com/ansible/ansible.git --recursive cd ./ansible source ./hacking/env-setup pip安装pip是安装python包的管理器类似于yum yum -y install python-pip python-devel yum -y install gcc glib-devel zlibl-devel rpm-build openssl-devel pip install --upgrade pip pip install ansible --upgrade 确认安装ansible --version三、相关文件 在这里插入代码片配置文件 /etc/ansible/ansible.cfg 主配置文件哦诶之ansible工作特性 /etc/ansible/hosts 主机清单 /etc/ansible/roles/ 存放角色的目录 程序 /usr/bin/ansible 主程序临时命令执行工具 /usr/bin/ansible-doc 查看配置文档模块功能查看工具 /usr/bin/ansible-galaxy 下载/上传优秀代码或者Roles模块的官网平台 /usr/bin/ansible-play-book 定制自动化任务编排剧本工具 /usr/bin/ansible-pull 远程执行的命令的工具 /usr/bin/ansible-vault 文件加密工具 /usr/bin/ansible-console 基于Console界面与用户交互的执行工具 主机清单inventory inventory主机清单ansible的主要功用在于批量主机操作为了方便的使用其中的部分主机可以在inventory file中将其分组命名 默认的inventory file为/etc/ansible/hosts inventory file可以有多个且也可以通过Dynamic Inventory来动态完成 /etc/ansible/hosts文件格式 inventory文件遵循INI文件风格中括号的字符为组名。可以将同一个主机同事归并到不通的组中此外当如若目标主机使用了非默认的ssh端口还可以在主机名称之后使用冒号加端口号来标明eg ntp.magedu.com [webservers] www1.magedu.com:2222 www2.magedu.com [dbservers] db1.magedu.com db2.magedu.com如果主机名称遵相似的命名模式还可以使用列表的方式标识个主机 eg [wedservers] www[01:100].example.com [dbservers] db-[a:f].example.com四、ansible配置文件 ansible 配置文件/etc/ansible/ansible.cfg(一般保持默认) [defaults] #inventory /etc/ansible/hosts #主机列表配置文件 #library /usr/share/my_modules/ #库文件存放目录 #module_utils /usr/share/my_module_utils/ #remote_tmp ~/.ansible/tmp #临时py命令文件存放在远程主机目录 #local_tmp ~/.ansible/tmp #本机临时命令执行目录 #forks 5 #默认并发数同时执行5个操作eg五台主机五台的执行 #poll_interval 15 #sudo_user root #默认sudo用户 #ask_sudo_pass True #每次执行ansible命令是否询问ssh密码 #ask_pass True #transport smart #remote_port 22 #module_lang C #module_set_locale False #host_key_checking False #检查对应服务的的host_key建议取消注释 #log_path /var/log/ansible.log #日志文件五、ansible 系列 ansible ansible-doc ansible-playbook ansible-vault ansible-console ansible-galaxy ansible-pull ansible-doc 显示模块帮助 ansible-doc [options][module] -a 显示所有模块文档 -l–list 列出可用模块 -s–snippet 显示指定模块的playbook片段 实例 ansible-doc -l 列出所有模块 ansible-doc ping 查看指定模块的帮助用法 ansible-doc -s ping 查看指定模块的帮助用法 ansible通过ssh实现配置管理、应用部署任务执行等功能建议配置ansible段能基于密钥认证的方式联系各被管理节点ansible[-m module_name] [-a args] –version 显示版本 -m module 指定模块默认为command -v 详细过程 -vv -vvv 更详细 –list-host 显示主机列表可简写–list -k –ask-pass 提示输入ssh连接密码。默认key验证 -K --ask-become-pass 提示输入sudo时的口令 -C–check 检查不执行 -T --timeoutTIMEOUT 执行命令的超时时间默认10s -u --userREMOTE——USER 执行远程执行的用户 -b --become 代替旧版本的sudo切换ansible的Host-pattern 匹配主机的列表 all表示所有Inventory中的所有主机 *通配符 ansible “*” -m ping ansible 192.168.1.* -m ping ansible “*srvs” -m ping 或关系 ansible “webserver:dbserver” -m ping ansible webserver:dbserver -m ping #执行在web组并且在dbserver组中的主机忽略重复的 与关系 ansible webserver:dbserver -m ping 只执行在web组并且也在dbserver组中的主机 逻辑非 ansible webserver:!dbserver -m ping 【注意此处只能使用单引号】 综合逻辑 ansible webserver:dbserver:webserver:!dbserver -m ping 正则表达式 ansible webserver:dbserver -m ping ansible ~(web|db).*\.magedu.\com -m pingansible命令执行过程 a 加载自己的配置文件 默认/etc/ansible/ansible.cfg b 加载自己对应的模块 如command c 通过ansible将模块或命令生成对应的临时py文件并将改文件传输至远程服务器的对应执行用户SHOME/.ansible/tmp/ansible-tmp-数字/XXX.py文件 d 文件见x执行 e 执行并返回结果 f 删除临时py文件sleep 0退出执行状态 绿色执行成功并且不需要做改变的操作 黄色执行成功并且对目标主机做变更 红色执行失败ansible常见模块 ping command在远程主机执行命令默认模块。可忽略-m选项 ansible srvs -m command -a ‘systemctl restart sshd’ ansible srvs -m command -a echo magedu | passwd --stdin wang 不成功 此命令不支持$VRNAME | ; 等需要用shell模块实现 shell和command相似用shell执行命令 ansible srv -m shell -a ‘echo magedu | passwd --stdin wang’ 调用bash执行命令 类似cat /tmp/stanley.md | awk -F | {print $1,$2} /tmp/example.txt 这些复杂命令及时使用shell也可能会失败解决办法写到脚本时 copy到远程执行再把需要的结果拉回执行命令的机器 script运行脚本 -a “/PATH/TO/SCRIPT_FILE” ansible webserver -m script -a f1.sh copy从服务器复制文件到客户端 ansible all -m copy -a src/data/test1 dest/data/test1 backupyes mode000 ownerzhang ##如目标存在默认覆盖此处是指先备份并修改全向属主 ansible all -m shell -a ls -l /data/ ansible all -m copy -a contenttest content\n dest/tmo/f1.txt 利用内容直接生成目标文件 fetch从客户端取文件至服务器端与copy相反目录可以先tar ansible all -m fetch -a ‘src/root/a.sh dest/data/f2.shfile:设置文件属性状态属组属主权限 ansible all -m file -a “path/root/a.sh ownerzhang mode755” ansible all -m file -a src/data/test1 dest/tmp/test statelink ansible all -m file -a ’name/data/f3 statetouch‘ #创建文件 ansible all -m file -a ’name/data/f3 stateabsent‘ #删除文件 ansible all -m file -a ’name/data statedirectory‘ #创建目录 ansible all -m file -a ’src/etc/fstab dest/data/fstab.link statelink‘ archive打包模块 用于将文件打包成归档文件参数“files”中指定要打包的文件列表“dest”中指定要将文件打包成的目标路径和文件名。 unarchive 解打包模块用于解压归档文件参数“src”中指定要解压的归档文件路径“dest”中指定要将文件解压到的目标路径。 hostname 管理主机名 ansible 192.168.10.24 -m hostname -a “namekso-bj6-zw-zhangwei”#永久生效但hosts文件需要手动更改 cron 计划任务 支持时间minutehourdaymonthweekday ansible all -m cron -a minute*/5 weekday1,3,5 job/usr/sbin/ntpfata 172.16.0.1 /dev/null nameSynctime 创建任务 ansible all -m cron -a disabledtrue job/usr/sbin/ntpfata 172.16.0.1 /dev/null nameSynctime 禁用任务加#号注释 ansible all -m cron -a disabledno job/usr/sbin/ntpfata 172.16.0.1 /dev/null nameSynctime 启用任务 ansible all -m cron -a stateabsent nameSynctime 删除任务 yum管理包ansible websrvs -m yum -a listhttpd 查看程序列表ansible websrvs -m yum -a namehttpd statepresent 安装ansible websrvs -m yum -a namehttpd stateabsent 删除可以同时安装多个程序包 service管理服务 ansible all -m service -a namehttpd statestopped ansible all -m service -a namehttpd statestarted enabledyes ansible all -m service -a namehttpd statereload ansible all -m service -a namehttpd staterestart user:管理用户 ansible all -m user -a nameuser1 commenttest user uid2048 home/data/home/user1 grouproot 创建用户以及uid家目录并描述comment ansible all -m user -a namezhangwei shell/sbin/nologin systemyes home/data/home/zhangwei 创建不可登陆的系统用户 ansible all -m user -a namezhangwei stateabsent removeyes删除用户及家目录 group管理组 ansible all -m group -a nametestgroup systemyes ansible all -m group -a nametestgroup stateabsent ansible-doc -s moudul #简短介绍模块使用方法 ansible-doc modul #详细介绍模块使用方法 setup主机信息 可收集远程主机的facts变量的信息相当于收集了目标主机的相关信息(如内核版本、操作系统信息、cpu、…)保存在ansible的内置变量中之后我们有需要用到时直接调用变量即可.这在ansible-playbook 中很有用。 可以使用gather_facts: no 来禁止收集信息[rootayunw ansible-example]# ansible dbsrvs -m setup# 使用setup获取ip地址以及主机名使用filter过滤ansible dbsrvs -m setup -a filteransible_default_ipv4# 获取内存信息ansible dbsrvs -m setup -a filteransible_memory_mb# 获取主机名ansible dbsrvs -m setup -a filteransible_nodename# 仅显示与ansible相关的内存信息ansible dbsrvs -m setup -a filteransible_*_mbansible系列命令 ansible-galaxy 链接https//galaxy.ansible.com下载对应的role 列出所有已安装的galaxy ansible-galaxy list 安装galaxy ansible-galaxy install geerlingguy.redis 删除galaxy ansible-galaxy remove geerlingguy.redis ansible-pull 推送命令至远程效率无限提升对运维要求较高 ansible-playbook ansible-playbook hello.yml 【书写注意空格行首注意对齐】 cat hello.yml --- # hello test yml file - hosts: allremote_user: root #远程用户tasks:- name: look hostnamecommand: hostname ansible-vault 管理加密解密yml文件 ansible-vault [create | decrypt | edit | encrypt | rekey | view] ansible-vaullt encrypt hello.yml 加密 ansible-vault decrypt hello.yml 解密 ansible-vault view hello.yml 查看 ansible-vault edit hello.yml 编辑加密文件 ansible-vault rekey hello.yml 修改口令 ansible-vault create new.yml 创建新文件 ansible-console2.0新增可交互执行命令支持tab roottest(2)[f:10] $ 执行用户当前操作的主机组当前组的主机数量[f:并发数]$ 设置并发数fock n 例如fock 10 切换组cd 主机组 例如cd webserver 列出当前组的主机列表list 列出所有内置命令或help 示例 rootall (2)[f:5]$ list rootall (2)[f:5]$ cd webserver rootdbserver (2)[f:5]$ list rootdbserver (2)[f:5]$ yum namehttpd statepresent rootdbserver (2)[f:5]$ service namehttpd staterestart
http://www.w-s-a.com/news/384530/

相关文章:

  • h5游戏平台入口优化是什么梗
  • 建设银行对公网站打不开网络推广活动方案主题和思路
  • 茶叶网站开发目的和意义网页设计需要考什么证
  • 高端企业网站建设公司怎么做实用性建设网站都需要哪些
  • 网站备案必须要幕布吗易企秀网站怎么做轮播图
  • 南昌网站排名优化四线城市网站建设方向及营利点
  • 做网站需要钱吗unity 做网站
  • 呼伦贝尔市规划建设局网站wordpress怎么考别人的
  • 免备案自助建站网站成都神速建站
  • 怎样编写app软件快速刷排名seo软件
  • 江苏做家纺的公司网站宣传型企业网站
  • 网站网上商城建设外国一些做环保袋的网站
  • 做空气开关那个网站推广比较好建站技术有哪些
  • 做网站前需要做什么准备wordpress图片云储存
  • 查楼盘剩余房源的网站地方网站推广
  • 农家乐网站建设方案创意平面设计公司简介
  • 信息化建设 网站作用网络营销的形式网站营销
  • 沈阳出名网站潍坊正规建设网站
  • 计算机软件开发需要学什么沈阳网站关键字优化
  • 关于军队建设网站国内最好的wordpress主题
  • 小视频网站如何建设陪诊app开发
  • 英文网站首页优化国外手机网站源码
  • 网站建设公司如何找客户网站建设应该考虑哪些问题
  • 创新的江苏网站建设wordpress用户绑定手机
  • 自己做网赌网站网站设计者
  • 教育培训网站设计辽宁招标工程信息网
  • 韶关网站推广做网站要哪些人员
  • 建设银行网站链接开发公司与物业公司交接清单
  • 网站定位广告企业建网站有这个必要吗
  • 网站模板 商标黄冈建设工程信息网