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

萝岗企业网站建设汉中做网站的电话

萝岗企业网站建设,汉中做网站的电话,网站建设费用取得专票会计分录,深圳做app网站建设ansible 源操作主机功能 自动化运维#xff08;playbook剧本yaml#xff09; 是基于python开发的一个配置管理和应用部署工具#xff0c;在自动化运维中#xff0c;现在还是异军突起 ansible能批量配置#xff0c;部署#xff0c;管理上千台主机#xff0c;类似于xshell… ansible 源操作主机功能 自动化运维playbook剧本yaml 是基于python开发的一个配置管理和应用部署工具在自动化运维中现在还是异军突起 ansible能批量配置部署管理上千台主机类似于xshell的一键输入工具不需要每次都切换主机进行操作只要有一台ansible的固定主机就可以所有节点的操作他是不需要agent(客户端)只需要一台主机上配置了ansible Ansible是基于模块进行工作他只是提供了一种运行的架构真正执行和变更的是ansible的模块来实现的如copy模块service模块 ansible如何实现通信的 Ansible默认是通过ssh的密钥队实现通信(可以改但一般不动) Anible的另一个特点所有模块都是幂等性 所谓幂等性指的是多次操作或者多次执行对系统资源的影响是一致的举例:如关闭防火墙只要发现要停止的目标服务已经停止后续同样的停止操作不会改变任何结果也就是什么也不做。 举例重启防火墙这不是幂等性每一次操作都会先停再启动。 举例http 的get 是幂等性 举例Post多次执行相同的post可能创建多个相同的资源 Ansible的幂等性决定了你可以放心大胆的使用重复执行某个人物不会对结果产生任何影响(绝大多数情况) Ansible的四大组件 1lnventory主机清单主机组定义ansible可以远程操控的服务器2模块ansible常用的有13个模块通过模块可以实现远程的配置和操作3plugins插件4playbook剧本shell脚本是yaml格式 ansible的优点 部署较为简单只需要控制主机部署即可被控制主机需要有ssh和python(2.5以上版本)基本上linux都是自带的 Ansible只能控制linux系统widows不行 基于模块工作可以使用任意语言开发模块二次开发底层架构 实验环境 1.管理端192.168.233.11     ansible 2.被管理端192.168.233.12/13 安装ansible [rootdocker1 ~]# systemctl stop firewalld.service [rootdocker1 ~]# setenforce 0 [rootdocker1 ~]# yum -y install epel-release.noarch [rootdocker1 ~]# yum -y install ansible [rootdocker1 ~]# yum -y install tree [rootdocker1 ~]# cd /etc/ansible/ [rootdocker1 ansible]# ls ansible.cfg hosts roles [rootdocker1 ansible]# vim hosts #20取消注释 [webservers] #21添加 192.168.233.12 #34取消注释 [dbservers] #35添加 192.168.233.13 [rootdocker1 ansible]# ssh-keygen -t rsa #配置秘钥队 [rootdocker1 ansible]# sshpass -p 123 ssh-copy-id root192.168.233.13 [rootdocker1 ansible]# ansible 192.168.233.13 -m command -a date [rootdocker1 ansible]# sshpass -p 123 ssh-copy-id root192.168.233.12 [rootdocker1 ansible]# ansible 192.168.233.12 -m command -a date 192.168.233.12 | CHANGED | rc0 2023年 12月 18日 星期一 17:26:47 CST #可以指定ip地址主机 [rootdocker1 ansible]# ansible webservers -m command -a date 192.168.233.12 | CHANGED | rc0 2023年 12月 18日 星期一 17:29:45 CST #也可以指定整个主机组 [rootdocker1 ansible]# ansible all -m command -a date 192.168.233.12 | CHANGED | rc0 2023年 12月 18日 星期一 17:29:52 CST 192.168.233.13 | CHANGED | rc0 2023年 12月 18日 星期一 17:29:52 CST #指定所有主机 command模块 在远程执行linux的命令不支持管道符重定向输出。 [rootdocker1 ansible]# ansible 192.168.233.12 -a ls /opt #不加-m也就是不声明使用的模块默认就是command模块常用参数 chdir在远程主机上运行命令提前进入目录 creates判断指定文件是否存在如果存在不执行后面的操作 removes判断指定文件是否存在如果存在执行后面的操作[rootdocker1 ansible]# ansible all -m command -a chdir/home ls 192.168.233.12 | CHANGED | rc0 chen[rootdocker1 ansible]# ansible all -m command -a creates/opt/123 ls /opt 192.168.233.12 | SUCCESS | rc0 skipped, since /opt/123 exists 192.168.233.13 | CHANGED | rc0 containerd rh [rootdocker1 ansible]# ansible all -m command -a removes/opt/123 ls /opt 192.168.233.13 | SUCCESS | rc0 skipped, since /opt/123 does not exist 192.168.233.12 | CHANGED | rc0 123 containerd rh shell模块 shell模块相当于comand的升级版在远程主机执行命令相当于调用远程主机的shell进程支持管道符和重定向 在Ansible当中多个引号之间要做隔离 [rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a useradd test 192.168.233.12 | CHANGED | rc0 [rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a cat /etc/passwd [rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a echo 123456 | passswd --stdin test[rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a echo $(ifconfig ens33 | awk NR2{print $2}) 192.168.233.12 | CHANGED | rc0 inet 192.168.233.12 netmask 255.255.255.0 broadcast 192.168.233.255 #取出ifconfig ens33中的IP地址 [rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a echo $(ifconfig ens33 | awk NR2{print $2}) 192.168.233.12 | CHANGED | rc0 192.168.233.11 #单引号和双引号都可以[rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a touch /opt/123 echo 456 123 ls /opt cat /opt/123 #表示逻辑且前一个命令成功才会执行后一个命令[rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a touch /opt/456 ; echo 666 /opt/456 ; cat /opt/456 #表示逻辑或前面的成功与否后面的命令都会执行分号也可以实现一样的操作练习 1.指定主机上创建一个脚本在脚本中写入一个内容 #!/bin/bash ifconfig,然后运行 [rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a echo -e #!/bin/bash\nifconfig /opt/ip.sh sh /opt/ip.sh #最好加上双引号2.写一个运算脚本 [rootdocker1 ansible]# ansible 192.168.233.12 -m shell -a echo -e #!/bin/bash\na$((23))\necho \$a /opt/t1.sh sh /opt/t1.sh 192.168.233.12 | CHANGED | rc0 5cron模块 远程主机定时任务 有两种状态 1.present表示添加默认就是添加可以省略 2.absent表示移除#absent在整个语法中都表示移除的意思删除 分 时 日 月 周 分minute 时hour 日day 月month 周weekday job表示任务执行的命令 name任务计划的名称可以不加最好写上练习 1.每5分钟查看一下opt [rootdocker1 ansible]# ansible 192.168.233.12 -m cron -a minute*/5 jobls /opt namet3 [rootdocker1 ansible]# ansible 192.168.233.12 -a crontab -l2.9月1号早上8点30分执行ls /opt 任务名t22 [rootdocker1 ansible]# ansible 192.168.233.12 -m cron -a minute30 hour8 day1 month9 jobls /opt namet223.周三下午14点30分执行ls /opt 不需要任务名 [rootdocker1 ansible]# ansible 192.168.233.12 -m cron -a minute30 hour14 weekday3 jobls /opt [rootdocker1 ansible]# ansible 192.168.233.12 -a crontab -l 删除定时任务 [rootdocker1 ansible]# ansible 192.168.233.12 -m cron -a nametest2 stateabsent [rootdocker1 ansible]# ansible 192.168.233.12 -a crontab -l [rootdocker1 ansible]# ansible 192.168.233.12 -m cron -a nameNone stateabsent #如果有多个名称为None的定时任务将会被一并删除不推荐最好是一个不重复的名称 user模块 常用的参数用户管理模块name 指定用户名必须要有 state present absent 创建用户可以不加present删除一定要加absent systemyes 或者on 标记用户是否是一个程序用户 Uid 用户的唯一标识 group 用户的所在组 create_homeyes or no 换用户的家目录 不需要替换用户的家目录可以不写 password 给用户创建密码 comment 可以添加用户的注释信息可有可无 removeyes or no 当删除用户时加上removeyes删除用户的家目录相当于userdel -r 如果不删除家目录可以不写。 [rootdocker1 ansible]# ansible 192.168.233.12 -m user -a nameg11 systemyes [rootdocker1 ansible]# ansible 192.168.233.12 -a cat /etc/passwd g11:x:990:984::/home/g11:/bin/bash 在创建用户时虽然声明了是一个程序用户但是默认的登录shell如果没有额外声明还是默认的/bin/bashUID会按照程序用户来指定[rootdocker1 ansible]# ansible 192.168.233.12 -m user -a nameg11 shell/sbin/nologin [rootdocker1 ansible]# ansible 192.168.233.12 -a cat /etc/passwd g11:x:990:984::/home/g11:/sbin/nologin #指定为程序用户/sbin/nologin 不能登陆使用ansible的user模块创建用户如果创建普通用户可以不加systemno指定shell类型也可以不加默认就是/bin/bash,如果创建的程序用户一定要声明systemyes声明shell的类型shell/sbin/onlogin,也可以指定uid的方式给用户分配一个uid[rootdocker1 ~]# ansible 192.168.233.12 -m user -a nameg2 home/home/g2 create_homeyes #更改家目录[rootdocker1 ~]# ansible 192.168.233.12 -m user -a nameg11 removeyes stateabsent #删除用户以及用户的家目录 group模块 用户的管理模块name必须要有gid设置组的idansible不使用交互命令 [rootdocker1 ~]# ansible 192.168.233.12 -m group -a namegq1 gid306 systemyes [rootdocker2 ~]# cat /etc/group gq1:x:306: [rootdocker1 ~]# ansible 192.168.233.12 -m user -a nameguoqi uid1011 groupgq1 [rootdocker1 ~]# ansible 192.168.233.12 -a cat /etc/passwd #指定他的用户组 [rootdocker1 ~]# ansible 192.168.233.12 -m group -a namegq1 stateabsent #删除组但必须要先删除组里的用户ping模块 [rootdocker1 ~]# ansible all -m ping #测试和远程主机的连通性ping通即结束而且该主机必须添加在ansible的 /etc/ansible/hosts文件中配置声明的主机ansible的服务端才可以进行远程操作 hostname模块 管理和设置远程主机的主机名 [rootdocker1 ~]# ansible 192.168.233.12 -m hostname -a namedocker2 #改主机名 copy模块 用于复制指定的主机文件到远程主机的模块 常用参数dest 指出要复制的文件在哪必须使用绝对路径如果源目标是目录指目标也得是目录如果目标的文件已存在会覆盖原有的内容 src源目标src复制文件的源最好使用绝对路径源目标是目录指目标也得是目录owner指定文件的所有者group指定文件的所在组content从主机复制指定的内容到目标主机content就不能使用srcmode指定复制之后的文件的权限 在目标主机创建一个用户guoqisystemyesshell/sbin/nologin,复制ky32.txt[rootdocker1 ~]# ansible 192.168.233.12 -m user -a nameguoqi systemyes s [rootdocker1 opt]# ansible 192.168.233.12 -m copy -a src/opt/ky32.txt dest/opt/ky32.txt ownerguoqi mode600
http://www.yutouwan.com/news/385665/

相关文章:

  • 岳阳网网有鱼百度关键词搜索优化
  • 应式网站网页设计与制作课程评价方案
  • 无锡网站营销公司网站开发人员上级主管
  • 个人做网站模版是否有人买做网站怎么设置背景
  • 微网站怎么搭建高端网页定制
  • 一学一做教育视频网站有哪些内容西安seo公司
  • 企业网站设计制作服务担路网做网站多少钱
  • 如何做网校网站与别人相比自己网站建设优势
  • 做谷歌网站使用什么统计代码吗怎么提升学历最快
  • 网站设计维护合同肇庆关键词网站排名
  • 沙坪坝网站建设国内外最新新闻
  • 网页制作与网站建设期末考试电商项目流程
  • 动易网站管理系统wordpress资源博客
  • 惠州app网站建设排行榜代做seo关键词排名
  • 百度站长平台网站蓝色网站导航
  • 网站培训费用wordpress搭建环境
  • 网站做什么内容西安设计工作室
  • 做产品的往这看:国外工业设计网站大全!甘肃第九建设集团公司网站
  • 亿度网络网站建设hype做网站动效
  • 策划案需要给做网站吗北京网站建设资讯
  • 网站服务器有哪些种类重庆网站有哪些
  • 三亚房地产网站制作没有公众号建微信网站
  • 做调查网站怎样换IPwordpress 中文tag标签 404
  • 莲湖区建设局网站啥网站都能看的浏览器下载
  • 福千欣隆网站建设公司 概况长沙网站优化外包服务
  • 郑州正规的网站制作价钱德阳装修公司
  • 如何做网站的悬浮窗口网站推广通常是从网站建设及运营
  • 企业网站备案需要多久培训机构seo
  • sqlite 网站开发无限在线观看免费视频
  • 烟台网站建设求职简历网站开发主管