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

北京网站开发联系电话网站建设 010

北京网站开发联系电话,网站建设 010,哔哩哔哩网站怎么做视频,网站开发费算无形资产吗Ansible Ansible 是基于 Python 开发,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能的自动化运维管理工具。默认通过 SSH 协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动…

Ansible

        Ansible 是基于 Python 开发,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能的自动化运维管理工具。默认通过 SSH 协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署  变得更加简单。可同时支持多台主机并行管理,使得管理主机更加便捷

        Ansible 的基本架构六大件

                Ansible core 核心引擎:即 Ansible 本身

                Host Inventory 主机清单用来定义 Ansible 所管理主机, 默认是在 Ansible 的hosts 配置文件中定义被管理主机, 同时也支持自定义动态主机清单和指定其它配置文件的位置

                Connect plugin 连接插件负责和被管理主机实现通信。除支持使用 SSH 连接被管理主机外, Ansible 还支持其它的连接方式, 所以需要有连接插件将各个主机用连接插件连接到 Ansible

                Playbook( yaml, jinjia2) 剧本用来集中定义 Ansible 任务的配置文件, 即将多个任务定义在一个剧本中由 Ansible 自动执行, 可以由控制主机针对多台被管理主机同时运行多个任务

                Core modules 核心模块:是 Ansible 自带的模块,使用这些模块将资源分发到被管理主机使其执行特定任务或匹配特定的状态

                Custom modules 自定义模块用于完成模块功能的补充, 可借助相关插件完成记录日志、发送邮件等功能

        Ansible与SaltStack的对比

                (1)Ansible安装部署简单

                (2)SaltStack响应速度快

                (3)Ansible更安全

                (4)对Windows的支持

                (5)Ansible自身运维比较简单

                

部署ansible    

角色

主机名

IP地址

配置

控制主机

ansible-node1

192.168.27.152

2c4g

被管理主机

ansible-node2

192.168.27.153

2c4g

被管理主机

ansible-node3

192.168.27.154

2c4g

        干净的环境,修改主机名

hostnamectl set-hostname ansible-node1
hostnamectl set-hostname ansible-node2
hostnamectl set-hostname ansible-node3

         在第一台机器上安装Ansible

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum install -y ansible#查版本号即为安装成功
ansible --version

        ansible引用配置文件的优先级 

# 优先级最高
ANSIBLE_CONFIG (一个环境变量)

# 优先级次之
ansible.cfg (位于当前目录中)

# 优先级次之
ansible.cfg (当前用户的家目录中)

# 优先级最低
/etc/ansible/ansible.cfg

        配置ansible的主机清单

vi /etc/ansible/hosts 
#写在配置文件最后即可
192.168.27.153
192.168.27.154

        控制主机清单的主机

ansible all -m ping# all 为被控制机器的IP
# -m 操作的命令 
# ping 测试网络是否通过

 设置 SSH 无密码登录

        为了避免 Ansible 下发指令时需要输入被管理主机的密码,可以通过证书签名达到 SSH

无密码登录。使用 ssh-keygen 产生一对密钥,并通过 ssh-copy-id 命令来发送生成的公钥   

#生成密钥对
ssh-keygen -t rsa#连接被控制端的IP
ssh-copy-id 192.168.10.102

         取消密钥对验证

vi /etc/ansible/ansible.cfg

         把密码写进主机清单 省去密码操作

[root@ansible-node1 ~]# cat /etc/ansible/hosts 
192.168.27.153 ansible_ssh_user=root ansible_ssh_pass=123456
192.168.27.154 ansible_ssh_user=root ansible_ssh_pass=123456

常用模块

[root@ansible-node1 ~]# ansible all -a 'hostname'
192.168.27.153 | CHANGED | rc=0 >>
ansible-node2
192.168.27.154 | CHANGED | rc=0 >>
ansible-node3
[root@ansible-node1 ~]# [root@ansible-node1 ~]# ansible all -a 'free -h'
192.168.27.153 | CHANGED | rc=0 >>total        used        free      shared  buff/cache   available
Mem:           3.7G        175M        3.3G         11M        176M        3.3G
Swap:          2.0G          0B        2.0G
192.168.27.154 | CHANGED | rc=0 >>total        used        free      shared  buff/cache   available
Mem:           3.7G        177M        3.3G         11M        176M        3.3G
Swap:          2.0G          0B        2.0G
[root@ansible-node1 ~]# 

        定义组

# 定义组写在主机清单中 例如我创建的两个组规划机器
[root@ansible-node1 ~]# cat /etc/ansible/hosts [master]
192.168.27.153 ansible_ssh_user=root ansible_ssh_pass=123456[node]
192.168.27.154 ansible_ssh_user=root ansible_ssh_pass=123456
#操作组ansible node -m ping

                可省略command模块,其他模块都不可以

                 command是默认命令

                还可以指定shell命令,用来操作Linux命令 (不可省略)

        user模块

                创建用户

ansible all -m user -a 'name=test'

                删除用户

ansible all -m user -a 'name=test state=absent'#present 表示添加 (省略状态时默认使用)
#absent 表示移除。

        group组模块

#被管理组 db里所有主机创建 mysql 组,gid 为 306
ansible db -m group -a 'name=mysql gid=306 system=yes'

        设置周期任务

                添加周期任务计划

ansible all \
-m cron \
-a 'minute="*/10" job="/bin/echo hello" name="test cron job"'# name 周期任务的名字

                列出周期任务

 ansible all -m shell -a 'crontab -l'

        copy 模块

                Ansible 中的 copy 模块用于实现文件复制和批量下发文件。其中使用 src 来定义本地源文件路径;使用 dest 定义被管理主机文件路径;使用 content 则是使用指定信息内容生成目标文件

#将 本 地 文 件/etc/fstab 复 制 到 被 管 理组 db里 的 所 有 主 机上 的/tmp/fstab.ansible,所有者设置为 root,权限设置为 640
ansible all \
-m copy \
-a 'src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640'

         修改简单的内容

ansible all \
-m copy \
-a 'content="Hello Ansible Hi Ansible\n" dest=/tmp/test.ansible'

        file模块

#设置被管理组 dbsrvs 里所有主机中/tmp/fstab.ansible 文件的所属主为 mysql, 所属组为 mysql,权限为 644。
ansible all \
-m file \
-a 'owner=mysql group=mysql mode=644 path=/tmp/fstab.ansible'

        script模块

                Ansible 中的 script 模块可以将本地脚本复制到被管理主机上进行运行。需要注意的是使用相对路径指定脚本位置

[root@ansible-node1 ~]# cat test.sh
#!/bin/bash
echo "ok"
[root@ansible-node1 ~]# chmod +x test.sh
[root@ansible-node1 ~]# ansible all -m script -a 'test.sh'

        service模块

                Ansible 中使用 service 模块来控制管理服务的运行状态。其中使用 enabled 表示是否开机自动启动,取值为 true 或者 false;使用 name 定义服务名称;使用 state 指定服务状态,取值有 started、stoped、restarted

ansible all \
-m service \
-a 'enabled=true name=chronyd state=started'ansible all \
-m service \
-a 'enabled=true name=chronyd state=stopped'

        yum 模块

                切换另外两台的yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

                安装模块

ansible all -m yum -a 'name=tree'

                卸载模块

ansible all -m yum -a 'name=tree state=absent'

        palybook模块        

[root@ansible-node1 ~]# cat test.yaml
---
- hosts: allremote_user: roottasks:- name: install httpdyum: name=httpd state=latest- name: start httpdservice: name=httpd state=started
ansible-playbook test.yaml

                 更好的移植性(修改一下)

[root@ansible-node1 ~]# cat test.yaml
---
- hosts: allvars:package: httpdremote_user: roottasks:- name: install {{ package }}yum: name={{ package }} state=latest- name: start {{ package }}service: name={{ package  }} state=started
[root@ansible-node1 ~]# 

http://www.15wanjia.com/news/168561.html

相关文章:

  • 网站建设会遇到哪些难题服务品牌策划方案
  • 做网站要多久企业应用系统有哪些
  • 网站建设维护工作经验注册城乡规划师教材pdf
  • 网站优化方案和实施朋友说做网站什么的怎么赚钱
  • 做网站准备什么软件做外贸网站需要什么
  • 如何上传ftp网站程序互联网最好的公司
  • 北京公司网页宁波seo网络推广价格
  • 上海哪些做网站openwrt wordpress
  • 张家港英文网站制作免费做qq互赞网站
  • 免费产品网站建设芜湖哪里有做网站的
  • 山东手机网站建设公司wordpress教程安装教程
  • 东莞网站优化哪个公司好网站备案的规定
  • 如何看网站的版本号网站布局结构
  • 取消网站的通知手机排名
  • 贵阳网站微信建设公司网站做中文和英文切换
  • 福州建站服务wordpress页面模板文件
  • 做网站是怎么回事医疗网站建设及优化
  • 用wordpress仿一个网站模板下载wordpress qq邮箱订阅
  • 公司做网站是com好还是cn好钓鱼网站后台是怎么做的
  • 做产品表情的网站提供网站建设出售
  • 网站良精企业网站系统呼和浩特市网站建设
  • 如何进行电子商务网站建设使用免费的代码做网站
  • 摩托车建设网站必应搜索引擎入口
  • 网站建设与开发的收获与体会德清网站公司建设
  • 官方网站建设流程及费用全球最大的设计网站
  • 杭州广告公司网站建设下载导航到手机上安装
  • 网站流量合作制作网页总结
  • 快速建站模板自助建站网页制作哪家服务好
  • 城网站建设WordPress推荐主机配置
  • 做网站的困难wordpress返回404页面