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

广州有建网站的公司吗互联网创业项目网站

广州有建网站的公司吗,互联网创业项目网站,资讯门户网站,西安网站建设网站推广##### Ansible使用环境 - 控制节点 - 安装Ansible软件 - Python环境支持#xff1a;Python2.6 - 必要的模块#xff1a;如PyYAML等 - 被控节点 - 启用SSH服务 - 允许控制节点登录#xff0c;通常设置免密登录 - Python环境支持 http://www.ansible.com/ …##### Ansible使用环境 - 控制节点   - 安装Ansible软件   - Python环境支持Python2.6   - 必要的模块如PyYAML等 - 被控节点   - 启用SSH服务   - 允许控制节点登录通常设置免密登录   - Python环境支持 http://www.ansible.com/ #### 一、环境准备 配置好主机名、IP地址、YUM源。关闭防火墙和SELinux pubserver挂载rocky镜像 web1添加两块20G硬盘 | 主机名    | IP地址         | 角色                | | --------- | -------------- | ------------------- | | pubserver | 192.168.88.240 | 控制节点            | | web1      | 192.168.88.11  | 被控节点(webserver) | | web2      | 192.168.88.12  | 被控节点(webserver) | | db1       | 192.168.88.13  | 被控节点(database)  | #### 二、部署配置、自定义ansible软件YUM源 控制节点服务端 被控节点客户端 ##### 前置部署(控制节点服务端操作) ​    安装vsftpd软件并设置开机自启后开启服务配置网络YUM以及开机自动挂载 ​    刷新网络YUM源确保通信正常 shell yum clean all; yum repoinfo ​    从真机上传ansible相关软件到pubserver主机 shell [root真机 ~]# scp /linux-soft/s2/zzg/ansible_soft/* root192.168.88.240:/var/ftp/rpms/ ##### 开始部署 ​    安装createrepo命令包 shell yum -y install createrepo_c ​    创建软件仓库信息 shell createrepo /var/ftp/rpms/ ​    验证软件仓库下确保有repodata目录 ​    增加自定义YUM源配置在文件最后追加ansible源 shell [ansible-rpms] nameansible-rpms baseurlftp://192.168.88.241/rpms enabled1 gpgcheck0 ​    刷新网络YUM源 ​    同步repo文件到所有被控节点 shell for i in 192.168.88.1{1..3}     do         scp /etc/yum.repos.d/ftp_Yum.repo root$i:/etc/yum.repos.d/     done ​    控制节点安装Ansible(服务端) shell yum -y install ansible ​    查看安装版本 shell ansible --version ​    配置控制节点的hosts本地主机名解析文件确保控制节点通过主机名访问到被控节点 shell vim /etc/hosts 192.168.88.241  pubserver 192.168.88.11   web1 192.168.88.12   web2 192.168.88.13   db1 ​    连接测试hosts文件配置正确 shell for i in pubserver web1 web2 db1     do         ping -c 2 $i     done ​    配置控制节点免密登录被控节点 shell ssh-keygen -t rsa -f /root/.ssh/id_rsa -N    #非交互生成秘钥对 ​    发送公钥到被控节点 shell for i in web1 web2 db1     do         ssh-copy-id root$i     done ​    验证免密登录 shell for i in web1 web2 db1     do         ssh root$i hostname     done #结果显示web1web2db1 ##### 被控节点Ansible管理环境配置 - 配置目标   - 使用Ansible软件管理多个环境如开发环境、测试环境、生产环境   - 多用户使用同一个控制节点管理不同主机   - 每个用户有属于自己的配置环境(工作目录) - Ansible配置文件查找顺序   - 首先检测ANSIBLE_CONFIG变量定义的配置文件   - 其次检查当前目录下的./ansible.cfg文件   - 再次检查当前用户家目录下的~/ansible.cfg文件   - 最后检查/etc/ansible/ansible.cfg文件 - 控制节点配置 创建自定义Ansible工作目录在root家目录下创建ansible文件夹并进入可以自定义名称以后关于ansible操作均在此目录下进行 ​    配置ansible工具在刚创建的工作目录下创建ansible.cfg配置文件和inventory清单列表文件 ​    ansible.cfg配置文件修改内容 shell [defaults]                  #通用配置 inventory inventory       #主机清单列表文件名 host_key_checking false   #不检查主机秘钥非交互式ssh连接 ​    inventory清单列表文件修改内容 shell [webservers]        #定义主机组名称自定义 web[1:2]            #[1:2]表示从1到2 [dbservers] db1 [cluster:children]  #cluster为组名:children为固定写法表示为cluster的子组 webservers dbservers ​    在工作目录下确认配置结果 shell ansible all --list-hosts            #查看所有被控主机列表 ansible webservers --list-hosts        #查看webservers组主机列表 ansible dbservers --list-hosts        #查看dbservers组主机列表 ansible cluster --list-hosts        #查看cluster组主机列表 #### 三、Ansible使用方法及常用模块 ##### 使用方法 - ad-hoc临时命令   - 在命令行下使用ansible命令调用Ansible模块实现被控节点远程管理   - 通常用于查询信息或临时简易操作 - Playbook剧本   - 把管理任务以特定的格式编辑在文件中通过ansible-playbook命令远程管理被控节点   - 通常用于复杂任务设计及远程执行 ​    ad-hoc命令语法格式ansible    [主机、组列表或IP]    [参数] ​    常用参数 | -m   | 要执行的模块默认为command                                  | | ---- | ------------------------------------------------------------ | | -a   | 模块的参数                                                   | | -u   | ssh连接的用户名默认用rootansible.cfg中可以配置           | | -f   | fork多少进程并发处理默认为5个                              | | -i   | 指定hosts主机清单列表文件路径默认default/etc/ansible/hosts | | -M   | 要执行的模块路径默认为/usr/share/ansible                   | | -t   | 日志输出目录日志文件名以主机命名                           | | -k   | 使用密码登录远程主机被控节点未做免密登录时可用             | ​    egansible all -m ping    #ping模块用于测试是否可以SSH远程登录被控节点主机 返回结果为绿色的SUCCESS状态信息则为成功 返回结果为红色的UNREACHABLE则为失败 需要检测管理节点与被控节点网络和是否可以免密登录 ​    Playbook剧本略——详情看二阶段/3.Ansible/3_Day02.md ##### 模块简介 - Ansible在使用过程中通过模块来完成指定任务 - Ansible模块的本质是一个文件通常是为实现具体功能的Python脚本 - Ansible已经有很多开发好的模块可以直接调用具备开发能力也可以自行开发 - 多数模块都支持使用参数需要使用的时候指定参数 - 主要学习已有的常用模块的用途及常用参数 在Ansible中模块的幂等性指的是模块执行操作时如果目标状态已经符合预期再次执行相同的操作不会产生任何改变也就是说模块的执行结果是可重复的不会因为多次执行而产生不同的结果。这种特性非常重要因为它可以确保自动化任务的可靠性避免不必要的数据更改或资源消耗。 ​    模块查询命令使用方法——ansible-doc shell # 列出目前全部可用Ansible模块按空格键向下翻页按q退出返回命令行 ansible-doc -l # 统计已有模块数量WARNING信息直接忽略即可 ansible-doc -l | wc -l 7214 # 查看包含yum的模块 ansible-doc -l | grep yum # 查看指定模块的帮助文档按空格键向下翻页按q退出返回命令行 ansible-doc yum ​    相关模块 ​    command模块 Ansible的默认模块用于在被控节点(客户端)执行Linux命令不支持bash特性如管道、重定向 shell ansible web1 -m command -a hostname #获取被控节点主机名 ansible web1 -a ip a s              #获取被控节点IP地址信息 ​    shell模块 于在被控节点执行Linux命令支持bash特性 shell # 获取IP信息前两行 ansible web1 -m shell -a ip a s | head -2 # 将IP地址信息重定向保存到指定文件 ansible web1 -m shell -a ip a s /opt/ip.txt # 确认重定向结果 ansible web1 -m shell -a cat /opt/ip.txt ​    script模块 用于在被控节点执行脚本不局限于Shell脚本 shell ansible webservers -m script -a test.sh #执行test.sh脚本 ------------------------------------- --------------------- ​    file模块 用于在被控节点创建文件、目录、链接文件等还可以修改权限、归属 幂等性 shell ## 常用参数     path指定文件路径     owner设置文件所有者     group设置文件所属组     state状态         touch表示创建文件         directory表示创建目录         link表示创建软链接         absent表示删除     mode设置权限     srcsource的简写源     destdestination的简写目标 #使用file模块创建文件、目录、软链接但touch特殊创建同一文件只会刷新时间戳 ansible webservers -m file -a path/tmp/file.txt statetouch ansible web1 -m shell -a ls -l /tmp | grep txt ansible webservers -m file -a path/tmp/demo statedirectory ansible webservers -m file -a src/etc/hosts dest/tmp/hosts.txt statelink #使用file模块修改文件权限和归属 ansible webservers -m file -a path/tmp/file.txt ownersshd groupadm mode0777 #使用file模块删除被控节点指定文件、目录、软链接 ansible webservers -m file -a path/tmp/file.txt stateabsent ansible webservers -m file -a path/tmp/demo stateabsent ansible webservers -m file -a path/tmp/hosts.txt stateabsent ​    copy模块 用于将控制节点指定文件发送被被控节点(服务端上传、客户端下载) shell ## 常用参数     src源。控制端的文件路径     dest目标。被控制端的文件路径     content内容。需要写到文件中的内容 为 # 使用copy模块发送控制节点指定文件到被控节点指定目录并重命名(如果dest指定到目录则文件名不变) ansible webservers -m copy -a srctest.sh dest/tmp/adduser.sh # 使用copy模块发送指定内容到被控节点并存储在文件中 ansible webservers -m copy -a contentHello World dest/tmp/mytest.txt ​    fetch模块 用于将被控节点指定文件发送到控制节点(服务端下载、客户端上传) shell ## 常用参数     src源。被控制端的文件路径     dest目标。控制端的文件路径     flat不生成目录结构只保留文件到指定目录 # 使用fetch模块收集被控节点指定文件到控制节点(默认在控制节点生成/dest_path/主机名/src_path/file) ansible webservers -m fetch -a src/etc/hostname dest~/ # 使用fetch模块收集被控节点指定文件到控制节点(不生成目录结构只保留文件到指定目录) ansible web1 -m fetch -a src/etc/hosts dest~/ flatyes ​    lineinfile模块 用于确保被控节点指定文件内有指定行。用于在远程主机上的文件中插入、替换或删除行适用于编辑配置文件、脚本等文本文件确保某些配置或内容的一致性如添加环境变量、修改配置项等 shell ## 常用参数     path待修改的文件路径     line写入文件的一行内容     regexp正则表达式用于查找文件中的内容 # 确保/etc/issue文件中有Hello World行如果不存在则追加到文件末尾存在就不会添加 ansible webservers -m lineinfile -a path/etc/issue lineHello World # 替换/etc/issue文件中最后一个带Hello的整行替换成Hello Linux ansible webservers -m lineinfile -a path/etc/issue regexpHello lineHello Linux ​    replace模块 用于关键词匹配替换 shell ## 常用参数     path待修改的文件路径     replace将正则表达式查到的内容替换成replace的内容     regexp正则表达式用于查找文件中的内容 # 替换/etc/issue文件中所有Hello的字符串为Hi ansible webservers -m replace -a path/etc/issue regexpHello replaceHi ----------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------- ​    user模块 用于实现Linux用户管理 shell ## 常用参数     name待创建的用户名     uid用户ID     group设置主组     groups设置附加组     home设置家目录     password设置用户密码     state状态。present表示创建它是默认选项。absent表示删除     remove删除家目录、邮箱等。值为yes或true都可以 # 使用user模块创建用户 ansible webservers -m user -a nametom # 使用user模块创建用户并设置用户属性group是属组groups是附加组 ansible webservers -m user -a namejim uid1010 groupadm groupsdaemon,root home/home/jim # {{}}是固定格式表示执行命令 # password_hash()是函数sha512是加密算法 ansible webservers -m user -a nametom password{{123456|password_hash(sha512)}} ansible webservers -m user -a nametom stateabsent ansible webservers -m user -a namejim stateabsent removetrue ​    group模块 用于实现Linux组管理 shell ## 常用参数     name待创建的组名     gid组的ID号     statepresent表示创建它是默认选项。absent表示删除 # 使用group模块创建devops组 ansible webservers -m group -a namedevops # 使用group模块删除devops组 ansible webservers -m group -a namedevops stateabsent
http://www.zqtcl.cn/news/71849/

相关文章:

  • 怎么把自己做的网站放到百度上百度关键词搜索热度
  • 网站设计建设定制凡科建设网站别人能进去么
  • 个人博客网站页面百度软件中心
  • 素材网站 模板网页设计实训报告范例
  • 制作个人博客网站做图模板网站有哪些内容
  • 最好的wordpress网站如何高效率的建设网站
  • 做好中心网站建设工作做特卖的网站有哪些
  • 企业门户网站开发费用怎么利用互联网平台赚钱
  • 网站网页设计公司有哪些天津网站建设设计开发公司
  • 网站被加入js广告做图哪个网站素材多
  • 安徽省住房城乡建设厅网站公示个人网站建设规划案例
  • 长春市建设厅网站asp网站后台管理系统源码
  • h5建站模板电子商务网站建设与管理a
  • 企业宣传软文淘宝客网站怎么做seo
  • 武清网站开发tjniu微信企业邮箱
  • ps工具设计网站厦门网站建设人才
  • 3g电影网站排行榜沈阳做网站最好的公司
  • 楚雄建网站建立简单网站
  • 实业有限公司网站怎么做上海排名seo公司
  • 外贸网站关键词优化食品网站建设的目的
  • 沈阳网站建设索王道下拉万网可以做网站吗
  • ftp修改网站红衫中国网站建设
  • 开发的网站wordpress 4.0 中文版
  • 手机怎么创建网站怎么做网站才能吸引人
  • 湘潭公司网站建设网站优点
  • 广州本地门户网站轴承外贸平台哪个网站最好
  • 企业网站模块介绍企业网站个人备案吗
  • ps做网站原形凌河建设网站
  • 网页特技的网站南阳网站建设培训学校
  • 网站为什么提示风险天元建设集团有限公司财务分析