来自 金沙澳门官网网址 2019-11-08 12:14 的文章
当前位置: 金沙澳门官网网址 > 金沙澳门官网网址 > 正文

自动化运维工具之,Plateform使用ansible创建新实例

谷歌大法好,退aws保平安

一、初识Ansible 

---假设自己现在有一个电脑(本机),先用谷歌云创一个服务器(主机) ,再通过ansible在谷歌云上创建一个服务器(节点)并进行控制

介绍:

 

  Ansible 使用 模块(Modules)来定义配置任务。模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等。Ansible剧本(YAML语言编写)角色映射到 节点/虚拟机上,以对这些节点/虚拟机 进行编排有序的执行。Ansible支持ad-hoc任务:管理任务(不必幂等)以在多个节点/虚拟机上执行。Ansible具有无代理架构:你不需要在配置的节点/虚拟机上安装Ansible(然而,这些节点必须安装python环境),Ansible 通过SSH或者通过PowerShell(Windows机器)从单个控制机器上配置管理节点/虚拟机,并且能够支持并行配置多个节点。Ansible 可以用来配置 类unix系统或 Windows节点/虚拟机。

先把自己的公钥加到元数据里面,在google cloud plateform创建一个新实例

基本特点:

本机连接主机,安装ansible和pip,再用pip安装一个叫apache-libcloud,配置完成

  • 安装部署简单,支持多种方式安装(yum,git等)
  • 支持分类过滤管理主机
  • 轻量级,被管理端无需安装特定agent(需有python、ssh环境)
  • 模块众多,可以满足我们的需要
  • 开发社区活跃
  • Ansible playbook 剧本
  • 支持各种公有云、私有云平台
  • 金沙澳门官网网址 ,基于Push推送方式,可以随时修改
  • 幂等性(已经存在的修改后的状态,再次执行这个任务时,不会进行任何修改)

打开谷歌云控制台,创建凭据,拿到json文件,并把它扔到主机里面

如图:

利用ssh-keygen生成密钥对,并将公钥传入他自己的authorized_key里面,同时也要把主机公钥传到谷歌云的ssh里面

金沙澳门官网网址 1

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

  注:上图是从官方介绍视频中的截图。用户通过ansible 自动化引擎, 使用playbook ,插件、模块去去管理被控制主机。并可以结合CMDB管理系统。

 金沙澳门官网网址 2

二、Ansible运行环境

 

1.ansible的安装支持多种方式。

vars这里面的参数可以从创建实例后里面的命令行里面找到

官方建议:

gce里面的instancename自己可以改,也可以加上一行zone 指定一下创建主机时候的区域

  • 如果你想在Red Hat Enterprise Linux (TM), CentOS, Fedora, Debian, or Ubuntu上,运行最新版本的Ansible版本,推荐使用包管理器,如yum,apt-get.
  • 对于其它安装选项,推荐使用pip 包管理器进行安装
  • 如果想要使用最新的功能可以跟踪开发版本,从github上进行git到本地,进行使用

tags的话,写成这样

2.控制机要求:

金沙澳门官网网址 3

  Ansible 可以运行在有python 2.6或者2。7环境的类unix 环境。windows 暂不支持

接下来就是等它22端口开启,然后把这个新建好的实例放在group里面

3.被控制节点要求

ok,实例创建完成,可以以root形式连接节点了

  控制节点需要和 Ansible 被控制节点通信,通常使用ssh 进行连接。另外也需要python环境。

三、Ansible 安装

1.控制管理机安装(安装方式有多种,源码,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

2.检查验证

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

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

1.默认配置文件在你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个主机

本文由金沙澳门官网网址发布于金沙澳门官网网址,转载请注明出处:自动化运维工具之,Plateform使用ansible创建新实例

关键词: