Linux 运维工作中的经典应用ansible(批量管理)

一 Ansible自动化运维工具

Python 在运维工作中的经典应用

ansible(批量管理操作)

1.安装ansible(需要bese epel 2种源)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

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

yum install ansible -y

克隆虚拟机

hostnamectl set-hostname standby
vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.200 #改
UUID行            #删掉

vim /etc/hosts
10.0.0.200 standby #最后一行添加
systemctl restart network #重启网卡

+++++++++++++++++++++++++++++++
Linux的 SSHD(22)
验证方式:
(1)用户+密码(PAM)
(2)秘钥验证(公钥:钥匙和私钥:锁)
    通过秘钥对实现,需要将公钥分发到各节点
+++++++++++++++++++++++++++++++
2.管理被控端,管理机先生成秘钥,然后推送公钥

ssh-keygen   #执行,一路回车
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]10.0.0.200
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]10.0.0.100
#注意每台都要分发mi钥
[[email protected] ~]# for i in {1..12};do ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]10.0.0.$i;done

3.配置被管理的主机清单
[[email protected] ~]# vim /etc/ansible/hosts
#覆盖原来内容
[web]
10.0.0.100
10.0.0.200

4.使用ansible的ad-hoc测试
ansible all -m ping      #ansible 主机组或all -m 命令
10.0.0.12 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
10.0.0.11 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

#执行远程命令
[[email protected] ~]# ansible all -m shell -a "df -h"
10.0.0.12 | CHANGED | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        98G  3.4G   95G   4% /
devtmpfs        477M     0  477M   0% /dev
tmpfs           488M     0  488M   0% /dev/shm
tmpfs           488M  7.7M  480M   2% /run
tmpfs           488M     0  488M   0% /sys/fs/cgroup
/dev/sda1       197M  102M   96M  52% /boot
tmpfs            98M     0   98M   0% /run/user/0

10.0.0.11 | CHANGED | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        98G  1.6G   97G   2% /
devtmpfs        981M     0  981M   0% /dev
tmpfs           992M  124K  992M   1% /dev/shm
tmpfs           992M  9.6M  982M   1% /run
tmpfs           992M     0  992M   0% /sys/fs/cgroup
/dev/sda1       197M  102M   96M  52% /boot
tmpfs           199M     0  199M   0% /run/user/0

5.ansible playbook自动化安装nginx
[[email protected] ~]# vim  playbook_nginx.yml
- hosts: web
  remote_user: root
  vars:
    http_port: 80
  tasks:
    - name: Add Nginx Yum Repository
      yum_repository:
        name: nginx
        description: Nginx Repository
        baseurl: http://nginx.org/packages/centos/7/$basearch/
        gpgcheck: no

    - name: Install Nginx Server
      yum:
        name=nginx state=present

    - name: Configure Nginx Server
      template: src=./default.conf.template dest=/etc/nginx/conf.d/default.conf
      notify: Restart Nginx Server

    - name: Start Nginx Server
      service: name=nginx state=started enabled=yes

  handlers:
    - name: Restart Nginx Server
      service: name=nginx state=restarted

6.
default.conf.template文件如下

[[email protected] ~]#vim default.conf.template
server {
    listen       {{ http_port }};
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

7.执行ansible-playbook
检查语法
[[email protected] ~]# ansible-playbook --syntax playbook_nginx.yml     

模拟执行
[[email protected] ~]# ansible-playbook -C playbook_nginx.yml 

执行
[[email protected] ~]# ansible-playbook playbook_nginx.yml       

=============================================================

二 Docker容器技术

原文地址:https://www.cnblogs.com/3sss-ss-s/p/10226874.html

时间: 2024-11-06 07:40:09

Linux 运维工作中的经典应用ansible(批量管理)的相关文章

日常运维工作中如何确保你的linux操作系统安全

在现在这个世道中,Linux操作系统的安全是十分重要的.但是,你得知道怎么干.一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作.下面是日常运维工作中常用的几种Linux安全的策略方法. 1. 使用SELinux SELinux是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制.SELinux为访问控制添加了更细的颗粒度控制.与仅可以指定谁可以读.写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以删除链接.只能追加.移动一个文件之类的

运维工作中经常用到的一些知识总结(一)

在日常运维工作中,会有一些知识使用频率较高,以下为个人在工作中常用的一些操作,没有做详细的分类,排版比较凌乱.有需要的同学们可以参考,希望能有所帮助. 1.查看当前系统所以变量 sysctl -a 2.修改Centos7 网卡为eth install centos 7 按 tab键,增加: net.ifnames=0 biosdevname=0 3.yum删除软件 yum erase $(rpm -qa|grep java) yum erase $(rpm -qa|grep zabbix) 4.

运维工作中的bootstraping之PXE自动安装操作系统

运维工作纵向来看主要分为三个方向: 1.BootStraping:主要做的是操作系统的安装与配置,包括Bare Metal(pxe,cobbler)和Virtual Machine(image files). 2.Configuration:主要使用运维工具如puppet(rubby研发).saltstack(python研发).ansible.chef.cfengine等自动化运维工具做应用程序做批量部署与配置. 3.Command and Conrol:主要使用自动化运维工具发送命令或指令实

关于运维工作中的问题和自学方面的浅谈

我是一个运维工程师,因为主要侧重系统监控方面,所以相对来讲知道的东西面上比较广,但是实际根据业务的需要,或者某类产品的特定要求,又必须深入的了解内部原理. 所以我们经常要快速的掌握大量的知识,信息,已经相关的标准或者协议. 那么我们要有各自的自学方法. 工作前几年的时候,我主要是通过去图书馆,查阅相关资料,或者做知识储备,那时还是从事的web站点管理的工作,通过查阅大量的书籍后,我迷茫了,没有了方向.但是这种泡图书馆的方法,使我确实获得了很多知识. 后来我转到运维这块,当时的维护工作,主要是针对

Linux运维工作经验小叙

个人认为一个运维人员最应该的一天工作时间安排: 40%,处理紧急重要的事情:60%,开展重要不紧急的工作.紧急重要很容易理解,其实就是救活类工作.重要不紧急的工作,才是最能体现运维价值的工作. 监控系统,这是一个大话题.除了被动地监控各类服务的正常工作与否,还有主动开发协助系统分析的系统,并对整个系统的未来有规划性的开发工具型系统.提高自己和团队内所有人的工作效率的一些工具,尤其是可以快速解决那些中断的工具. 学习,这个是最重要的.运维涉及到的知识面非常广,不断学习才能顺利快速解决工作中出现的种

linux运维工作职责

(1)运维人员要谨记的6个字:运维人员做事需遵循:简单.易用.高效(2)运维人员服务的3大宗旨:1.企业数据安全保障.2.7*24小时业务持续提供服务.3.不断提升用户感受.体验.(3)初中级运维的日常涉及工作:1.评估产品需求及发展需求,设计网站架构.2.选择IDC公司.云产品,CDN等产品.3.采购服务器.安装系统.配置服务.服务器IDC上架.4.调试网络.优化系统及服务.5.上线代码.配合研发搭建环境.调试.测试代码.6.监控硬件.软件及各种业务应用.7.配置收集日志和,根据日志信息报警及

运维工作中常见错误总结分享

作为一个小运维,要时刻学习.总结.最近收集了一下常见的错误,和大家分享一下.希望对大家有用 一.卸载的时候出现的错误 umount /dev/nb1 device is busy 解决:找到是什么进程使得他busy,用 lsof /dev/nb1 . kill掉那个进程,然后重新umount即可. 二.GD2编译的时候出现的错误 The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL' Libtool library used b

运维工作中的一些标准流程

一.服务器上架标准 因为我们的服务器有专门的人员在IDC进行上架,下面几项我们按照标准来进行提供. 要指定配置的IP,子网掩码,网关: 安装系统的版本(CentOS 7.6 mini),比如分区如下: 目录 大小 boot 200MB swap 8GB / 剩余大小 二.系统初始化标准 系统的初始化标准流程使用一键初始化脚本,主要包含一下几个参数的设定: 1.配置服务器时区 rm -f /etc/localtime cp /usr/share/zoneinfo/Asia/Shanghai /et

运维工作中经常用到的一些知识总结(二)

接上篇:http://blog.51cto.com/bobo365/2125121 31.screen: screen -S xxx screen -r xxx screen -D -r <session-id> -D -r 先踢掉前一用户,再登陆. screen -X -S 31978 quit 32.Markdown基本语法 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 无序列表1 列表1 列表1.1 列表1.2 列表2 列表3 无序列表2 1 1 1 2 3 2 3 2 3