必发88官网 4

快快入门教程,Plateform使用ansible创设新实例必发88官网

谷歌(谷歌(Google))大法好,退aws保平安

一、初识Ansible 

必发88官网 1

—借使自个儿未来有1个管理器(本机),先用谷歌(谷歌)云创五个服务器(主机)
,再通过ansible在谷歌(Google)云上开创三个服务器(节点)并开展支配

介绍:

Ansible 简介

Ansible 是新出现的自动化运行工具,基于 Python
开辟,集结了好些个运行工具(puppet、cfengine、chef、func、fabric)的独到之处,落成了批测量身体系安顿、批量顺序安排、批量运行命令等功能。

Ansible 是基于模块职业的,本身并未有批量配置的力量。真正具有批量配置的是
Ansible 所运营的模块,Ansible 只是提供一种框架。首要不外乎:

  • (一)连接插件 connection plugins:担任和被监察和控制端完成通讯;
  • (二)host
    inventory:钦定操作的主机,是二个安插文件之中定义监察和控制的主机;
  • (3)各类模块主题模块、command 模块、自定义模块;
  • (四)借助于插件完结记录日志邮件等功效;
  • (伍)playbook:剧本实施八个义务时,非必需能够让节点3次性运维三个义务。

 

  Ansible 使用 模块(Modules)来定义配置职务。模块能够用专门的职业脚本语言(Python,Bash,Ruby,等等)编写,这是八个很好的做法,使各类模块幂等。Ansible剧本(YAML语言编写)剧中人物映射到
节点/虚拟机上,以对这一个节点/虚拟机
举行编辑有序的实践。Ansible支持ad-hoc义务:管理职分(不必幂等)以在多少个节点/虚拟机上试行。Ansible具备无代理框架结构:你不必要在配置的节点/虚拟机上安装Ansible(然而,那几个节点必须安装python境遇),Ansible
通过SSH可能经过PowerShell(Windows机器)从单个调控机械上配备管理节点/虚拟机,并且能够协助相互配置多个节点。Ansible
可以用来铺排 类unix系统或 Windows节点/虚拟机。

必发88官网,实验境况

编造机 x二,操作系统:TinyCoreLinux,由 docker-machine 创制。

先把团结的公钥加到元数据里面,在google
cloud plateform创设3个新实例

基本特点:

安装 Ansible

Tinycorelinux 镜像使用辅助 –
加快软件设置

1、安装 python 、python-setuptools

tce-load -wi python python-setuptools

2、安装 pip

sudo easy_install -i http://mirrors.aliyun.com/pypi/simple/ pip

3、安装 ansible

sudo pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com ansible

4、验证 ansible

ansible --version

本机连接主机,安装ansible和pip,再用pip安装三个叫apache-libcloud,配置实现

  • 设置配备简单,扶助二种方法安装(yum,git等)
  • 援助分类过滤管理主机
  • 轻量级,被管制端无需安装特定agent(需有python、ssh情况)
  • 模块众多,能够满意大家的须求
  • 开辟社区活泼
  • Ansible playbook 剧本
  • 协理种种公有云、私有云平台
  • 依据Push推送格局,能够每八日修改
  • 幂等性(已经存在的修改后的事态,再度实行那个职分时,不会进展别的改换)

采纳 ssh 管理其余主机

一、生成秘钥 id_rsaid_rsa.pub

$ cd ~/.ssh/

$ ssh-keygen -t rsa

2、将公钥 id_rsa.pub 内容增添到其余主机的 ~/.ssh/authorized_keys
文件中

3、在 /etc/ansible/hosts 文件中增加需求管住的主机

$ sudo vi /etc/ansible/hosts

[swarm]
192.168.99.103  ansible_connection=ssh  ansible_ssh_user=docker

四、测试:管理其余主机创造 hello 文件夹

ansible all -a "mkdir hello"

前提:任何主机需安装 python,不然会报如下错误

docker@ManagerX:/etc/ansible$ ansible all -a "/bin/echo hello"
192.168.99.101 | FAILED! => {
   "changed": false,
   "module_stderr": "Shared connection to 192.168.99.101 closed.\r\n",
   "module_stdout": "/bin/sh: /usr/bin/python: not found\r\n",
   "msg": "MODULE FAILURE",
   "rc": 0
}

TinyCoreLinux 安装的 python 实施命令在 /usr/local/bin/python
路线下,所以要软连接到 /usr/bin/python,命令如下:

sudo ln -s /usr/local/bin/python /usr/bin/python

再有1种格局,内定 python 路线,编辑 /etc/ansible/hosts

[swarm]
192.168.99.103  ansible_connection=ssh  ansible_ssh_user=docker ansible_python_interpreter=/usr/local/bin/python

展开谷歌云调整台,成立凭据,得到json文件,并把它扔到主机里面

如图:

参考文书档案

  • Ansible汉语权威指南

运用ssh-keygen生成密钥对,并将公钥传入他本身的authorized_key里面,同时也要把主机公钥传到谷歌(Google)云的ssh里面

必发88官网 2

然后开始写playbook脚本(参考网站:)

  注:上海教室是从官方介绍录制中的截图。用户通过ansible 自动化引擎,
使用playbook ,插件、模块去去管理被垄断主机。并得以结合CMDB管理体系。

 必发88官网 3

二、Ansible运营情状

 

一.ansible的设置支撑两种主意。

vars那当中的参数能够从创制实例后其中的命令行里面找到

法定提出:

gce里面包车型客车instancename本人能够改,也得以加多壹行zone
内定一下开立主机时候的区域

  • 就算你想在Red Hat
    Enterprise Linux (TM),
    CentOS,
    Fedora, Debian, or
    Ubuntu上,运维最新版本的Ansible版本,推荐应用包管理器,如yum,apt-get.
  • 对此别的安装选项,推荐使用pip 包管理器实行安装
  • 设若想要使用最新的作用能够追踪开采版本,从github上开始展览git到地面,举行利用

tags的话,写成这么

贰.调控机要求:

必发88官网 4

  Ansible 能够运作在有python 二.陆照旧2。柒蒙受的类unix 情状。windows
暂不帮忙

接下去正是等它2二端口开启,然后把这一个新建好的实例放在group里面

三.被垄断节点须求

ok,实例创制落成,能够以root方式连接节点了

  调控节点要求和 Ansible 被决定节点通讯,平时使用ssh
进行连接。此外也亟需python情形。

三、Ansible 安装

一.调节管理机安装(安装方式有多样,源码,pip等艺术),大家那边运用git
源码安装格局举行配备

[root@docker ~]# git clone git://github.com/ansible/ansible.git --recursive
[root@docker ~]# cd ansible/

进展源码安装

[root@docker ansible]# make && make install

先安装pip包处理工科具,然后安装ansible 程序所采纳的多少个python模块

[root@docker ansible]# easy_install pip
[root@docker ansible]# pip install paramiko PyYAML Jinja2 httplib2 six

更新ansible 代码时用到的两条命令

[root@docker ansible]# git pull --rebase
Current branch devel is up to date.
[root@docker ansible]# git submodule update --init --recursive

二.反省证实

[root@docker ansible]# ansible --version
ansible 2.3.0
  config file =
  configured module search path = Default w/o overrides

3、配置Ansible 尝试下管理主机

一.暗中同意配置文件在您git下载源码的目录ansible目录中

/root/ansible/bin/ansible

2.创制hosts存放目录,并编写制定hosts文件

[root@docker ansible]# mkdir -pv /etc/ansible/
mkdir: created directory '/etc/ansible/'

从安装文件中,拷贝hosts

[root@docker ansible]# cp /root/ansible/examples/hosts /etc/ansible/.

编写hosts文件,添加1个主机

3.创建俩docker 容器吧

[root@docker ~]# docker run -d -it --name centos-1 centos_sshd_1
b032a6c8b4014837181029059661104373db8a6190a1f854ae5ff701b961a546

[root@docker ~]# docker run -d -it --name centos-2 centos_sshd_1
cc647f916437df70b54096bcf676804114d1558124234b7716aee68271414f27

容器成立完,默许已经起步了sshd
服务开启2二端口(这里能够查看后续我发的Docker
自定义镜像的作品),大家查阅下它们的ip

[root@docker ~]# docker exec centos-1 hostname -I
172.17.0.2 
[root@docker ~]# docker exec centos-2 hostname -I
172.17.0.3 

4.将上边3个被调节主机的ip 增多到 hosts 文件中,并实行通讯测试

展开/etc/ansible/hosts文件,在终极依据以下格式加多。

[cenots_group]
172.17.0.2
172.17.0.3

增进落成后,在支配主机上采用 ping
模块实行测试,如下:(约定:被控主机称为client,调控主机称为managent,以下类似)

  全体主机:

[root@docker ~]# ansible '*' -m ping --ask-pass
SSH password: 
172.17.0.3 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
172.17.0.2 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

  内定组的不贰诀窍:

[root@docker ~]# ansible centos_group -m ping --ask-pass
SSH password: 
172.17.0.2 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
172.17.0.3 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

  钦点单个主机的方法:

[root@docker ~]# ansible '172.17.0.3' -m ping --ask-pass
SSH password: 
172.17.0.3 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

释疑:ansible 命令后边,跟的第一个参数,也正是我们hosts
文件之中的主机清单(能够钦定单个主机ip,也得以是组,也帮衬正则匹配);
第二个参数是采用-m 钦点模块,这里大家用了 ping模块。 –ask-pass
那一个是当大家运用主机密码来拓展ssh认证时的参数,数次输入后,会倍感相比较麻烦。推荐使用密钥的办法,安全又利于。上边说下怎么着用公钥

5.运用密钥来进展ssh 远程访问

先在management 上转移公钥私钥对

[root@docker ~]# ssh-keygen -t rsa -C "management"

将公钥放到使用 ssh-copy-id命令,上传到client 上边去。

[root@docker ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.17.0.2

[root@docker ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.17.0.3

于今再试下管理命令,不用输入密码了

[root@docker ~]# ansible centos_group -a "/bin/echo Hello world"
172.17.0.3 | SUCCESS | rc=0 >>
Hello world

172.17.0.2 | SUCCESS | rc=0 >>
Hello world

 ok,等下1次学习Inventory(财富清单)时,再来分享呢。

注:ansible是第一回始发写的连载类别作品,如若喜欢能够关怀哦。假使感到有倒霉的地点,一定要不吝赐教哈。小编会格外13分感谢的。其余,假若你以为本文对您有帮带,接待转发,但不可能不要申明出处啊。

行使 Ansible 高效交付 Docker 容器 
http://www.linuxidc.com/Linux/2015-10/124233.htm

接纳Ansible批量处理远程服务器 
http://www.linuxidc.com/Linux/2015-05/118080.htm

Ansible安装配备与轻松利用 
http://www.linuxidc.com/Linux/2015-07/120399.htm

在 CentOS 7 中安装并运用自动化学工业具 Ansible 
http://www.linuxidc.com/Linux/2015-10/123801.htm

Ansible和Docker的机能和用法 
http://www.linuxidc.com/Linux/2014-11/109783.htm

Ansible批量搭建LAMP处境
http://www.linuxidc.com/Linux/2014-10/108264.htm

Ansible :3个布局管理和IT自动化学工业具 
http://www.linuxidc.com/Linux/2014-11/109365.htm

Ansible
的详尽介绍
:请点这里
Ansible
的下载地址
:请点这里

正文恒久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138104.htm

必发88官网 5