上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年云计算时代的基础设施即代码.pdf

编号:97857 PDF 45页 14.51MB 下载积分:VIP专享
下载报告请您先登录!

2019年云计算时代的基础设施即代码.pdf

1、G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站云计算时代的基础设施即代码 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 目录目录 认识下云时代的基础实施即代码认识下云时代的基础实施即代码 1 AnsibleAnsible和和TerraformTerraform介绍介绍 2 基础设施即代码的案例分享基础设施即代码的案例分享 3 常见问题与最佳实践常见问题与最佳实践 4 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 云时代的基础设施运维的特点 云时代的基础设施运维的特

2、点 1.业务特征 小步快跑,变化迅速 2.云原生技术 基础资源变化快 计算容量大 3.基础设施运维目标 快速、高频、可重复地支撑业务变化 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 安全性 性能 稳定性 合规性 可维护性 云时代自动化运维的挑战 云时代自动化运维的挑战 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 自动化恐惧链 自动化恐惧链 担心自动化工具会造成系统崩溃 基础设施配置 开始出现不一致 在自动化工具外手工更改配置 运维 人 自动化系统 基础 设施 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 基础设施即代码(基础

3、设施即代码(Infrastructure as Code,IaCInfrastructure as Code,IaC)Wikipedia Infrastructure as code(IaC)is the process of managing and provisioning computer data centers through machine-readable definition files,rather than physical hardware configuration or interactive configuration tools.定义配置文件 自文档化 版本化 持

4、续部署和测试 迭代变化 保持业务连续性 基础设施即代码 基础设施即代码是参照管理软件代码的方式,通过基础设施定义文件来管理服务器、网络和存储等数据中心资源的一系列方法和工具,以此替代物理硬件搭建和交互式配置工具的传统方式。G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.配置管理 1.为了保持系统完整性,将系统变更纳入流程和工具管理。2.常见的配置管理 软件配置管理(Software Configuration Management)服务器配置管理(Server Configuration Management)2.服务器配置管理 1.也就是IT自动化(IT Automa

5、tion)配置管理(配置管理(Configuration ManagementConfiguration Management)G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 基础设施即代码的工作流水线 基础设施即代码的工作流水线 镜像仓库 计算、存储和网络 源代码 镜像定义 运行 流水线 定义 应用描述 基础设施 定义 生成镜像 存储镜像 使用镜像 创建 基础设施 配置 基础设施 运行系统 定义 充当模版 ECS镜像 Docker镜像 阿里云 AWS Azure OpenStack Terraform ROS CloudFormation Resource Manager

6、 Heat Ansible Puppet Chef Salt 创建 基础设施 Kubernetes OpenShift CloudFoundry Spinnaker Jenkins流水线 Github流水线 Bitbucket流水线 Packer Docker Java(jar/war)资费成本 Everything can be defined by code!G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 目录目录 认识下云时代的基础实施即代码认识下云时代的基础实施即代码 1 AnsibleAnsible和和TerraformTerraform介绍介绍 2 基础设施即代

7、码的案例分享基础设施即代码的案例分享 3 常见问题与最佳实践常见问题与最佳实践 4 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 开源IaC工具的Google Trends Ansible持续领先 Terraform新星崛起 Ansible的代码贡献者构成最为丰富(20183Q)Ansible Puppet Terraform已经成为Hashcorp公司 最受关注的开源项目 基础设施即代码的技术趋势 基础设施即代码的技术趋势 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.Redhat的开源工具 服务器配置管理 IT自动化 基础设施即代码 2.特点

8、 No agent No script Simple and powerful AnsibleAnsible是什么 是什么 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 AnsibleAnsible系统架构 系统架构 Ansible 主程序 主机 Inventory Playbooks 插件 核心 模块 定制 模块 连接 插件 主机1 主机1 主机1 主机1 主机1 主机N 云平台 用户 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.Ansible通过inventory文件设定服务器设备的信息 2.每台服务器有一个名字标识,可以使用主机域名 3.

9、可以使用参数设置连接信息 4.文件默认位置为/etc/ansible/hosts Ansible InventoryAnsible Inventory G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.Yaml格式,声明式语言 2.Ansible的主要功能通过Playbook实现 3.Playbook描述需要配置的服务器和一系列需要完成的任务 4.运行playbook的命令:ansible-playbook configfile.yaml 5.执行顺序 1.单主机顺序串行执行 2.多主机并行执行 Ansible PlaybooksAnsible Playbooks G O

10、 P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.Module定义了在Ansible playbook中执行的任务 2.通过Python代码实现,通过Yaml脚本使用 3.典型Module Yum:安装卸载软件 Copy:复制文件 File:改变文件属性 Service:起停服务 Ansible ModulesAnsible Modules G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.连接不同的公有云和私有云 2.完成与Terraform/CloudFormation/ROS相类似的基础设施编排功能,但云厂商的支持不如Terraform广泛 3.An

11、sible Cloud Modules的列表和文档 https:/ Ansible Cloud ModulesAnsible Cloud Modules https:/ https:/ G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.Terraform简介 Terraform是构建、变更、版本化管理基础设施特别是云上基础设施的工具。2.Terraform的主要能力 基础设施即代码 自动生成执行计划 并发执行 变更自动化 TerraformTerraform是什么 是什么 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 TerraformTerrafo

12、rm系统架构 系统架构 Terraform Core 插件 Providers Provisioners 客户端 云厂商OpenAPI 云平台 Golang 基础设施定义 状态 资源图 RPC G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.Terraform保存资源的状态 2.默认状态保存在本地文件terraform.tfstate中 3.根据不同的后端,Terraform也支持将State保存远程服务端 例如支持AWS S3,Aliyun OSS 适用于团队工作的场景 Terraform StatesTerraform States G O P S 全 球 运 维

13、大 会 2 0 1 9 上 海 站 1.Provider用于对接不同云厂商的资源管理API,比如阿里云,AWS,Azure等。2.Provider一般是用golang开发的Terraform插件 3.Provider的本质 1.将云资源的管理操作有命令式的API转换成声明式的配置文件 Terraform ProvidersTerraform Providers https:/ Provider配置例子 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.Terraform通过Provisioner在本地或远程服务器执行脚本,从而配置基础设施 2.常见Provisioner包

14、括local-exec,remote-exec,file-exec 3.非官方Ansible Provisioner 1.https:/ Terraform Provisioners Terraform Provisioners 通过local-exec使用Ansible做配置管理的例子 直接通过Ansible provisioner做配置管理的例子 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 ECS VPC 交换机 存储 开始 启动ECS 创建VPC 创建交换机 创建存储 成功?是否成功?否 结束 基础设施即代码(IaC)命令式 vs.声明式 控制流程 依赖检查 并行

15、创建 不需要 自动实现 自动实现 代码实现 代码实现 代码实现 技术趋势的背后 技术趋势的背后 Imperative vs.Declarative G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 基础设施即代码技术的比较 基础设施即代码技术的比较 工具 工具 代码 代码 云 云 功能 功能 语言风格 语言风格 安装安装AgentAgent 管控服务 管控服务 社区 社区 Chef 开源 所有 配置 命令式 是 是 大 Puppet 开源 所有 配置 命令式 是 是 大 Salt 开源 所有 配置 命令式 是 是 大 Ansible 开源 所有 配置和置备(较弱)声明式 否

16、否 巨大 CloudFormation 闭源 AWS 置备 声明式 否 否 小 ROS 闭源 阿里云 置备 声明式 否 否 小 Terraform 开源 所有 置备 声明式 否 否 巨大 Terraform+Ansible 开源 所有 配置和置备 声明式 否 否 巨大 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 选择使用选择使用AnsibleAnsible和和TerraformTerraform的理由 的理由 选择Ansible的Top 5原因 不需要Agent 配置管理的代名词 使用简单 功能强大 容易学习 选择Terraform的Top 5原因 基础设施即代码的代名

17、词 声明式语法 执行前的Plan功能 使用简单 并发执行 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 目录目录 认识下云时代的基础实施即代码认识下云时代的基础实施即代码 1 AnsibleAnsible和和TerraformTerraform介绍介绍 2 基础设施即代码的案例分享基础设施即代码的案例分享 3 常见问题与最佳实践常见问题与最佳实践 4 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.创建VPC资源 选择Region 选择地址段 用用AnsibleAnsible创建一个创建一个ECSECS服务器 服务器 G O P S 全 球 运 维

18、 大 会 2 0 1 9 上 海 站 1.创建网络交换机 用用AnsibleAnsible创建一个创建一个ECSECS服务器 服务器 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.创建安全组 用用AnsibleAnsible创建一个创建一个ECSECS服务器 服务器 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.创建网络交换机 用用AnsibleAnsible创建一个创建一个ECSECS服务器 服务器 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.创建ECS实例 1.设置region 2.设置zone 3.设置交换机

19、 4.设置安全组 用用AnsibleAnsible创建一个创建一个ECSECS服务器 服务器 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.创建VPC和网络交换机资源 用用TerraformTerraform部署部署WebWeb集群 集群 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.创建安全组 用用TerraformTerraform部署部署WebWeb集群 集群 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.创建负载均衡 用用TerraformTerraform部署部署WebWeb集群 集群 G O P S 全

20、球 运 维 大 会 2 0 1 9 上 海 站 目录目录 认识下云时代的基础实施即代码认识下云时代的基础实施即代码 1 AnsibleAnsible和和TerraformTerraform介绍介绍 2 基础设施即代码的案例分享基础设施即代码的案例分享 3 常见问题与最佳实践常见问题与最佳实践 4 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 AnsibleAnsible最佳实践 最佳实践 1.尽量给Play和Task命名 vs.G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 AnsibleAnsible最佳实践 最佳实践 1.尽量使用原生的YAML语法

21、 vs.G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 AnsibleAnsible最佳实践 最佳实践 1.不同的linux发行版脚本不同 配置Ubuntu系统 配置CentOS系统 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 AnsibleAnsible最佳实践 最佳实践 1.运行前先在小范围服务器上测试,这样你就能很快的得到测试结果。2.在运行前,最好先用 check-mode 检查一次,以保证所有的命令都能运行 3.基于ansible的幂等性,多次运行同一个任务结果可以保持一致。4.请保证在/etc/ansible/hosts 中定义的所有主机

22、名都能被解析成IP G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 TerraformTerraform最佳实践 最佳实践 1.可以使用-var-file 批量导入环境变量 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 TerraformTerraform最佳实践 最佳实践 1.激活 debug 做 troubleshooting G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 TerraformTerraform最佳实践 最佳实践 1.隔离不同环境 G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 Terrafo

23、rmTerraform最佳实践 最佳实践 1.使用validate和fmt校验并格式化Terraform G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 生产环境基础设施管理的常用任务 生产环境基础设施管理的常用任务 任务 任务 任务描述 任务描述 常用工具 常用工具 安装 安装软件的依赖包 Bash,Ansible,Chef,Puppet 配置 配置系统、配置软件、配置网络环境 Bash,Ansible,Chef,Puppet 置备 置备服务器、网络、存储、负载均衡、RAM策略 Terraform,ROS,CloudFormation 部署 部署服务到指定的基础设施上 Kubernetes,Scripts 安全 单点登录,身份集成,秘钥存储 SAML,Oauth,Vault 持续集成 控制从代码编译到部署上线的流水线 Jenkins,Spinnaker G O P S 全 球 运 维 大 会 2 0 1 9 上 海 站 1.快速简单 2.配置一致性 3.风险最小化 4.提高软件开发效率 5.节省成本 引入基础设施即代码的优势 引入基础设施即代码的优势

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年云计算时代的基础设施即代码.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部