自动化运维

Similar documents
吉位网自动化运维管理方案

puppet 简介 3 puppet 是什么 3 Hello world 4 puppet 安装 5 debian 系发行版安装 puppet 5 redhat 系发行版安装 puppet 5 源代码安装 puppet 6 配置 c/s 模式的 puppet 试验环境 6 puppet 语法 8 资

05_資源分享-NFS及NIS.doc

摘 要 1. GSLB: 全 局 负 载 均 衡 2. SLB: 服 务 器 负 载 均 衡 四 层 交 换 LVS 七 层 交 换 Nginx 3. Heartbeat 实 现 HA 4. MySQL 数 据 库 集 群 5. 集 群 环 境 下 的 存 储 备 份 6. 集 群 的 监 控 及

自由軟體社群發展經驗與 Linux認證介紹

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

introduction-to-puppet

Microsoft PowerPoint - 03.IPv6_Linux.ppt [相容模式]

A9RF716.tmp

.. 3 N

Microsoft Word - PS2_linux_guide_cn.doc

Basic System Administration

OTRS用户手册

ch08.PDF

OTRS用户手册

项目采购需求编写模板

05 01 X Window X Window Linux Linux X Window X Window Webmin Web Linux Linux X Window X Window Notebook PC X Window X Window module Linux Linux kernel

ebook62-1

本文由筱驀釹贡献

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD University of California UNIX X/Open Company, Ltd.

营 销 策 划 岗 部 门 招 聘 职 位 招 聘 人 数 岗 位 职 责 基 本 要 求 岗 位 任 职 要 求 6 参 与 项 目 产 品 研 究 客 户 需 求 研 究 竞 争 环 境 研 究 价 格 研 究 等 项 目 市 场 研 究 ; 7 公 司 经 纪 业 务 的 品 牌 管 理, 对

untitled

スライド 1

CA Nimsoft Monitor Snap 快速入门指南

自我介绍 守住每一天 SinaEdge 运维主管 LinuxTone 创始人之一 2009 年编写 Nagios 完整配置文档 2011 年编写 Puppet 集中化管理爱好 : 骑行

untitled

PowerPoint 演示文稿

Microsoft Word - 新正文.doc

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

自由軟體教學平台

计算机网络实验说明

HOL-CHG-1695

スライド 1

NA-001/F-V2縲€繧ス繝輔ヨ繧ヲ繧ァ繧「讖溯・莉墓ァ俶嶌

自由軟體教學平台

穨japhkesch.PDF

穨IC-1000

软件概述

自由軟體教學平台

ebook140-8

1

untitled

校友会系统白皮书feb_08

温州市政府分散采购

IP505SM_manual_cn.doc

ebook140-9

迅闪2009帮助手册(xshelp)

修 订 说 明 : 修 订 日 期 版 本 号 修 订 内 容 修 订 原 因 V V2.4 附 件 6 测 试 及 上 线 范 围 取 消 现 券 质 押 式 回 购 买 断 式 回 购 债 券 远 期 债 券 借 贷 五 类 业 务 的 创 建 和 确

电信行业网上营业厅

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

csa-faq.pdf

lect03.ppt

ext-web-auth-wlc.pdf

ARM JTAG实时仿真器安装使用指南

untitled

简易 Linux Server 部署教程系列之 06 使用 Samba 实现文件共享服务 ( 作者信息 : 阮晓龙投稿时间 :2018 年 5 月 4 日 ) 一 需求描述 1 需求说明支持 Windows Linux Unix Mac 等操作系统支持 Android ios 等移动平台支持计算机

ansoft_setup21.doc

MP801H V2 使 用 指 南 Dragon 2010, 保 留 所 有 权 利 第 2 页 共 80 页

untitled

C3_ppt.PDF

84

專業式報告

LTM Management Console

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9

Microsoft Word - 3圓來如此.doc

untitled

AXIS P7224 Video Encoder Blade – Installation Guide

D-link用户手册.doc

<4D F736F F D D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63>

、審計稽察之成果

Microsoft Word SRS - 軟體需求規格.doc

Linux Ubuntu Part Linux Ubuntu Linux UNIX...19 Linux...19 Linux Linux...21 Linux GNU FSF Open So urce.

快 速 入 门 (Linux) 概 述 文 档 目 的 本 文 档 介 绍 了 如 何 快 速 创 建 Linux 系 统 实 例 远 程 连 接 实 例 部 署 环 境 等 旨 在 引 导 您 一 站 式 完 成 实 例 的 创 建 登 录 和 快 速 环 境 部 署 云 服 务 器 ECS 实

Web

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

资源管理软件TORQUE与作业调度软件Maui的安装、设置及使用

SL2511 SR Plus 操作手冊_單面.doc

<55342D323637CBB5C3F7CAE92E786C73>

God's Masterpiece- the Cross

ebook140-11

第一章 Linux與網路資源

untitled

專業式報告

untitled

OpenStack Nova安装说明

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co

Cisco WebEx Meetings Server 2.6 版常见问题解答

未命名 -1

turbomail方案

Windows 2000 Server for T100

升 级 过 程 概 述 Cisco 集 中 无 线 网 络 架 构 中,AP 工 作 在 瘦 AP(LAP) 模 式 LAP 关 联 到 无 线 控 制 器 (WLC), 控 制 器 管 理 着 配 置 软 件 升 级 以 及 802.1X 认 证 等 控 制 处 理 ; 此 外, 控 制 器 还

User Group SMTP

ebook 185-6

Microsoft Word zw

目 录(目录名)

计算机软件技术专业教学计划

Transcription:

自劢化运维管理 自动化运维体系及开源产品对比大规模服务器自动化配置和管理 Puppet 开发与 Func 应用实例 XX 中心 Hartnett

内容摘要 why what how e.g 自动化运维的意义 自动化运维的背景 自动化运维体系介绍 常见开源产品介绍选型 Puppet 的安装 配置和使用 Func 的安装 配置和使用 Puppet 开发实例 自动化运维实例

自动化运维系统的意义与背景 为什么要使用自动化运维系统 传统运维方式自动化运维背景 效率低下 容易出错 不利于伸缩 提高工作效率 降低运维门槛 SA 必备技能 SA 人手有限 短时间内开服数百组

自动化运维体系 自动化运维体系结构 系统预备 自动化安装操作系统及常用软件包 配置管理 1. 自动化部署业务系统软件包并完成配置 2. 远程管理服务器 ( 开关服务等 ) 3. 变更回滚 监控报警 1. 服务器可用性 性能 安全监控 2. 向管理员发送报警信息

自动化运维工具介绍

自动化运维工具对比选型 (1) 预备类工具 Kickstart 1. 供 Linux 操作系统安装管理器 Anaconda 读取的无人值守安装配置脚本 2. 安装配置过程较为繁琐 Cobbler 1. 一个集成工具, 集成了 PXE DHCP DNS 和 Kickstart 服务管理和 yum 仓库管理 2. 简化了运维工程师工作量

自动化运维工具对比选型 (2) 配置管理类工具 Chef 1. 学习门槛高 (ruby) 2. 脚本维护调试繁琐 3. 依赖包多, 配置过程复杂繁琐 4. chef 的配置管理文件二进制文件中, 维护不方便 5. chef 的用户群少, 出了问题不方便排查 Puppet 1. 入门简单, 管理模块开发周期短 (puppet 语言 资源 ) 2. 脚本维护调试方便 3. 安装 配置简单 4. 配置管理文件为 puppet 语言描述的文本文件, 易于发布 备份和扩展 5. puppet 的用户很多,Google Redhat 等大公司都在使用

自动化运维工具对比选型 (3) 配置管理类工具 Cfengine 1. 老牌的配置管理工具, 功能强大 2. 语法晦涩难懂, 学习 维护成本高 Puppet + Func 1. 新兴的配置管理工具, 语法简单, 易于学习 维护 2. 远程执行命令只能返回成功与否, 执行过程无法跟踪查看 3. Linux 集群管理工具 Func 可以弥补 Puppet 远程执行命令的不足

自动化运维工具对比选型 (4) 监控报警类工具 Zabbix 1. Zabbix Nagois 和 cacti 等工具,zabbix 和 Nagois+cacti 组合都是很优秀的工具 2. 鉴于 zabbix 参考资料较少, 选择了常用的 Nagois+cacti 组合 Nagois + Cacti 1. Nagois 擅长服务器可用性监控, 报警功能强大 2. Cacti 擅长监控历叱数据收集 存储 3. UI 美观, 数据展示功能强大

Puppet 篇章 Puppet 介绍 Puppet Labs 基于 ruby 语言开发 支持以 C/S 模式或独立模式运行 支持对所有 UNIX 及类 UNIX 系统的配置管理 支持对 Windows 操作系统管理 ( 功能有限 ) 适用于业务系统的整个生命周期 Clients 默认每 30 分钟请求一次 Server 端 支持以节点的方式管理若干的服务器群组

Puppet 篇章 Puppet 架构

Puppet 篇章 Puppet Server 安装 安装说明 支持源码安装 yum 和 ruby 的 gem 包安装 Centos 可以直接使用 yum 来安装,Centos 的默认源中没有 puppet, 需要先安装 EPEL 包 ( 注意 32 位与 64 位版本区别 ) 安装方法 1. 安装 EPEL: rpm Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epelrelease-5-4.noarch.rpm 2. 安装 puppet 服务端 yum y install puppet-server 3. 启劢 puppet Server Service puppetmaster start

Puppet 篇章 Puppet Client 安装 Puppet 服务器端对客户端的管理是基于主机名的, 在安装之前需要为客户端设置唯一的主机名 安装过程 1. 安装 EPEL 包 2. 安装 puppet 客户端 : yum -y install puppet 3. 提交证书申请 puppetd --server jvpuppet.jooov.cn test

Puppet 篇章 Puppet 证书管理 服务器端可用 puppetca 管理证书 1. puppetca list, 查看到申请证书的客户端主机名 2. puppetca s 主机名, 为特定的主机颁发证书 3. puppetca s and a, 为所有的主机颁发证书 4. puppetca l and a, 列出所有主机,+ 号代表已经领证的 机器

Puppet 篇章 Puppet 使用 默认安装好的 Puppet 没有任何配置管理功能, 需要运维人员自行开发配置管理模块

Puppet 开发 Server 端目录结构 Server 端默认安装后, 位于 /etc/puppet 目录下 [jvuser@jvpuppet puppet]$ pwd /etc/puppet [jvuser@jvpuppet puppet]$ ls auth.conf client 访问 puppet server 的 ACL 配置文件 fileserver.conf puppet server 作为文件服务器的 ACL 配置文件 manifests Puppet 脚本主文件目录, 至少需要包含 site.pp 入口脚本文件 modules Puppet 模块目录, 存放 Puppet 脚本的功能模块 namespaceauth.conf 命名空间 ACL 配置文件 puppet.conf Puppet 服务器端配置文件

Puppet 开发 Puppet 脚本开发规范

Puppet 开发 Puppet 资源介绍 Puppet 提供了 48 种资源类型, 支持用户自主开发

Puppet 资源范例 file 资源 功能 : 新建一个 /tmp/puppettest 文件, 文件内容为 :puppet test only, 文件权限为 666 代码 : class test{ file { "/tmp/puppettest": content => "Puppet test only", mode => 666 } }

Puppet 资源范例 用户和组资源 Ensure 参数可以创建或者删除组, 设置 absent 就删除该组, 设置 present 就创建该组 以下的例子为删除不必要的用户组 代码 : $grouplist = [ "lp","uucp", "games","news", "floppy","audio"] group { $grouplist: ensure => absent, }

Puppet 资源范例 Package 资源 功能 : 为新装的系统安装 ntp 和 screen, 删除 pppoe 和 pppoeconf 包 代码 : package { ["ntp","screen"]: ensure => installed; ["pppoe","pppoe-conf"]: ensure => absent; }

Puppet 资源范例 Service 资源 功能 : 以下实例为启劢 ssh 服务, 停止 nfs 服务 代码 : service { "sshd": ensure => running; "nfs": ensure => stopped; }

Puppet 资源范例 crontab 资源 功能 : 在 crontab 添加时间同步任务 代码 : cron { ntpdate: command => "/usr/sbin/ntpdate time.windows.com", user => root, hour => 0, minute => 0, require => Package["crontabs"]; }

Puppet 资源范例 exec 资源 功能 : 自动执行初始化 iptables 安全策略脚本 代码 : exec { "/etc/rc.d/jv_firewall.sh": cwd => "/etc/rc.d/", path => "/usr/bin:/usr/sbin:/bin" }

Func 篇章 Func 介绍 Func 全称为 Fedora Unified Network Controller (Fedora 统一网络控制器 ), 是由 Fedara 社区维护的一款用于服务器自劢化远程管理的工具 特点 : 1. 可以管理任意多台服务器, 或任意多个服务器组 2. 基于 Certmaster 建立主从 SSL 证书管控体系 3. 提供了多个实用的远程管理模块 CommandModule ProcessModule ServiceModule 4. 任何 Func 命令行能完成的工作, 都能通过 python API 编程实现

Func 篇章 Func 安装与配置 Func 的 Master 端和 Slave 端安装方式相同, 在安装过 EPEL 的 Centos 服务器中, 可使用 yum y install func 直接完成安装 Master 的控制端与被控制端是由配置文件指定的 Master 配置可以保持默认, 如需打开证书自动分发功能, 将 autosign 设为 yes 即可 完成配置后需要重启 certmaster 服务

Func 篇章 Func Server 端配置 # configuration for certmasterd and certmaster-ca [main] autosign = no listen_addr = listen_port = 51235 cadir = /etc/pki/certmaster/ca cert_dir = /etc/pki/certmaster certroot = /var/lib/certmaster/certmaster/certs csrroot = /var/lib/certmaster/certmaster/csrs cert_extension = cert sync_certs = False

Func 篇章 Func Client 端配置 Client 端需要配置 /etc/certmaster/minion.conf 中的 certmaster 字段, 用于指定 Server 的证书地址 [root@client1 ~]# cat /etc/certmaster/minion.conf # configuration for minions [main] # 设置 certmaster 的值为 master 的 IP 或域名 certmaster = puppet.xxxxx.cn certmaster_port = 51235 log_level = DEBUG cert_dir = /etc/pki/certmaster

Func 篇章 Func 证书管理 证书申请 : Client 配置完毕后, 使用 service funcd start 启劢 funcd 服务后, 会自劢向控制端提交证书申请请求 证书颁发 : 1. 在 Server 端执行 certmaster-ca l 查看到被控端的证书请求 2. 用 certmaster-ca s 主机名可以为相应的主机颁发证书 3. 证书分发完后, 需要在 server 的 hosts 中加 client 的主机名 实例 : [root@jvpuppet certmaster]# certmaster-ca -l sxxb4-33 [root@jvpuppet certmaster]# certmaster-ca -s sxxb4-33 /var/lib/certmaster/certmaster/csrs/sxxb4-33.csr signed - cert located at /var/lib/certmaster/certmaster/certs/sxxb4-33.cert

Func 使用 远程管理命令执行方法 Func 可以远程管理任意台或任意组服务器,func 同时支持命令行和 python api 调用 对一台发送指令时, 可直接指定其主机名确认主机 jooov-web 是否存在 : 1. [root@puppet bin]# func "jooov-web" ping 2. client = func.client( jooov-web") print client.ping() 对所有服务器发送指令时, 用 * 表示所有服务器让所有主机执行 ifconfig 命令 : 1. func * call command run ifconfig 2. client = func.client( *") print client.command.run( ifconfig")

Func 使用 服务器群组管理 日常的运维工作更多的对特定的服务器组进行操作 Func 提供了 2 种方法对服务器进行分组管理 1. GroupApi 添加一个新组 newgr : [root@fedorabig func]# func "*" group --ag "newgr 列出所有组及其服务器成员 [root@fedorabig func]# func "*" group la 2. 组管理配置文件 ( /etc/func/groups ) [webservers] host = http1.example.com; http2.example.com [mailservers] host = mail1.example.com; mail2.example.com

Func 使用 功能模块说明 Func 服务器管理功能是由官方提供的功能模块实现的

Func 使用 常用功能模块使用说明 CPU Module 查看 CPU 状态信息, 使用方法 func target.example.org call cpu usage CommandModule 远程执行命令, 使用方法 : func target.example.org call command run ifconfig -a ServiceModule 服务管理, 可以启劢 停止服务和查看服务的状态, 使用参数 : func target.example.org call service status httpd ProcessModule 进程管理, 可以查 杀进程, 也可以查看每个进程的内存使用情况 : func target.example.org call process info "aux"

内容回顾 && 提问时间