1、应用转型-利用VMwarePKS打造企业级容器服务议程1现代应用发展趋势及挑战2VMware PKS企业级容器服务3PKS架构及部署和运维K8s集群4与VMware其他云管产品的集成5如何为容器应用选择合适工具?2现代应用发展趋势及挑战4来自应用的需求正在驱动客户的云战略和方向平台更新保持应用现状迁移到新环境应用重构修改应用,以适应企业内部或公共云的新运行环境多层混合将多层应用的一部分迁移到公共云为云开发在企业内部或公共云中部署新的云原生应用现状维持在现有环境下保持应用现状云原生应用加速上市 革新 扩展 差异既有应用降低成本 安全 可靠 控制云战略必须与应用需求相匹配业务需求在影响应用架构应用
2、架构在影响IT架构5传统应用 VS 云原生应用需求明确不断升级紧耦合不可复用需求变化快速迭代模块化松耦合传统应用云原生应用修补 无需担心对运行数千个应用的平台组件进行修补。扩展 无缝扩展平台组件,可满足不断变化的需求。升级 如何在确保正常运行的情况下部署新版本的平台?运维工作量 运维一个平台应只需少量资源以及尽可能少的手动干预。否则,应考虑它是否确实能提供运维优势?多种云环境 为任何云环境提供可靠的流畅体验。开放 API 允许平台通过不同的工具集进行操作以及创建 CD 管道。一致性 跨不同云环境配置提供一致的设置体验。设置时间 完成设置一个真实的工作环境需要多长时间?打算用几小时,而不是数周时
3、间。初始-构建后续-运维现代应用环境面临的挑战6VMware PKS企业级容器服务企业生产环境与开发环境中的容器的不同开发中的容器生产中的容器“学习悬崖”负载均衡安全性高可用性应用更新扩展/收缩 可重复的部署复制调度容器容器89Kubernetes在开源项目中的领先地位Kubernetes 在企业级环境中运维的不足高可用性.集群节点本身不具备开箱即用的可用性,(Masters,Workers and etcd nodes)。伸展性.Kubernetes集群处理节点上的pod/服务,但没有提供扩展的机制给Workers,Masters 和 etcd 虚机。健康检查和治愈.Kubernetes集群
4、只对运行在节点上的工作负载的健康进行常规的健康检查。升级.在大型集群上进行滚动升级是很困难的。谁管理它运行的系统?10BOSH 可弥补 Kubernetes 运维的不足 包装有嵌入式的 OS 服务器可部署在多种IaaS上 跨可用区的软件部署 健康监控(服务器和进程)带复活功能的自修复 存储管理 金丝雀滚动升级 集群易于伸缩11BOSH是Cloud Foundry的开开源项目源项目,用Release进行版本管理。用于发布、部署、生命周期管理和分布式系统监控。BOSH一体化编排、管理和运维 Kubernetes 集群Kubo 开源项目的诞生目的:在任何云上,用统一的方法来实例化、部署和管理高可用的
5、Kubernetes集群。方式:Kubo把 Kubernetes 转化为 BOSH 的一个 Release,用 BOSH 来运维管理 k8s。“Day 1”构建通过BOSH部署Kubernetes集群“Day 2”运维可自愈虚机,通过BOSH监控弹性扩展的集群滚动升级到最新的Kubernetes版本高可用性和多AZ支持122017年2月由Pivotal 和 Google 联合推出,于2017年6月贡献给Cloud Foundry基金。提供用于部署和管理Kubo版本的控制平面由VMware、Pivotal和谷歌联合开发使用开源 Kubernetes 构建:与 BOSH 负责运营的当前稳定的 Ku
6、bernetes 版本保持兼容。非专有扩展。生产就绪型:从应用到基础架构的高可用性,不存在任何单点故障。内置运行状况检查、扩展、自动修复和滚动升级。多种云环境:BOSH 提供可靠的一致运维体验。适用于任何云环境。网络管理和安全性:通过 VMware NSX-T 可实现即时可用。多种云环境,多 hypervisor。GCP API 访问:借助 GCP 服务代理,应用可从任意位置以透明方式访问 Google Cloud API。轻松地将工作负载移入/移出 Google Container Engine(GKE)。全自动运维:全自动部署、扩展、修补、升级。无需停机。还可使用 CD 管道部署您的平台。
7、BOSHGCP服务代理HarborNSX-TKubernetesK8s 集群K8s 集群K8s 集群GCPAzureOpenstackAWSPKS Controller13Master 节点、Worker 节点和 etcd 节点的容错自动扩展 Master 节点、Worker 节点和 etcd 节点 集群的日常运行状况检查和自我修复LCM 包括用于确保工作负载正常运行的滚动升级 扩展 高可用性运行状况检查和修复VMware PKS 提供企业级就绪的Kubernetes容器集群服务14PKS架构及部署和运维K8s集群VMware PKS分析自动化安全运维监控日志物理基础设施Container R
8、egistryvSpherevSAN Kubernetes on BOSH(Kubo)NSX-TBOSHmasteretcdmasteretcdworkerVMware PKS提供了企业级就绪的Kubernetes16 Worker etcd etcd etcd Master Master Worker WorkerBOSHThis forms the Open Core of Pivotal Container Service(PKS)Release templatesManifestKubo Releasebosh deployKubo提供了K8S组件的规范17 Worker etcd e
9、tcd etcd Master Master Worker WorkerBOSHThe definition of each of the nodes in the cluster,including:The bits installed on a node(packages)The processes started on a node(jobs)The definition of each of the nodes in the cluster,including:The bits installed on a node(packages)The processes started on
10、a node(jobs)集群中每个节点的定义,包括:在节点上安装的代码(packages)在节点上启动的进程(jobs)参数化BOSH release集群的期望状态的声明:从BOSH releases 中组装组件(关系,依赖)参数值BOSH deployment与底层基础设施的关系BOSH cloud configKubernetes18从BOSH开始.Message BusBOSH DB BOSH Director Blobs Health Monitor部署 Packages Blobs Source Jobs Manifest部署我的 K8s Worker VMsetcdMasterWo
11、rker部署Kubernetes集群1920PKS Service BrokerRelease templatesManifestKubo ReleaseBOSH部署引擎21PKS Service BrokerRelease templatesManifestKubo ReleaseBOSH创建集群(带有升级策略)支持多租户22PKS Service BrokerRelease templatesManifestKubo ReleaseBOSH创建集群(带有升级策略)负载均衡支持动态负载均衡update:canaries:1 max_in_flight:1 serial:true canary
12、_watch_time:10000-300000 update_watch_time:10000-300000K8s 集群升级:金丝雀部署Manifest23V1.0V1.1金丝雀的数量:2同时升级数量:2示例:CANARIES24K8s 集群升级:金丝雀部署金丝雀的数量:2同时升级数量:2示例:V1.1V1.2一旦失败,金丝雀虚机会被保留用于故障定位的目的25K8s 集群升级:金丝雀部署VMware PKS分析自动化安全运维监控日志物理基础设施Container RegistryvSpherevSAN Kubernetes on BOSH(Kubo)NSX-TBOSHmasteretcdma
13、steretcdworkerVMware PKS提供了企业级就绪的Kubernetes26Harbor 为容器应用提供企业级Registry服务用户管理和访问控制 基于角色的访问控制 AD/LDAP 集成安全性 漏洞扫描 内容信任-映像签名基于策略的映像复制 审核与日志RESTful API轻量级的轻松部署基于 Apache 2 许可证开源27通过公证服务实现的内容信任 推送期间由发布者的私钥签名的映像 提取期间使用发布者的公钥验证的映像 视情况而定,可能无法提取未签名的 映像Harbor 内容信任、映像签名和验证28漏洞扫描 推送到注册表时扫描 设置漏洞阈值 视情况而定,如果超过阈值,可能会
14、阻止提取映像 基于更新的漏洞数据库定期扫描VMware Harbor 映像漏洞扫描29VMware PKS分析自动化安全运维监控日志物理基础设施Container RegistryvSpherevSAN Kubernetes on BOSH(Kubo)NSX-TBOSHmasteretcdmasteretcdworkerVMware PKS提供了企业级就绪的Kubernetes3031PaaS Control PlaneetcdAPI-ServerSchedulerNCM InfraKubernetesAdapterCloudFoundry AdapterLibnetwork AdapterN
15、SX Container PluginMesosAdapterNSX Manager API ClientProj:fooNSX topology for K8s/CFNSX Container Plugin(NCP)与 Kubernetes 的集成NSX Features for K8s PODsIP 地址为每个容器/POD容器网络 路由(BGP)和 NAT 模式 微分段 通过K8s网络策略或原生NSX API(映射 K8s labels 到 NSX tags)网络与安全的自动化 作为应用部署的一部分创建多租户网络拓扑NSX-T 为传统及云原生应用提供网络及安全服务与VMware其他云管产品
16、的集成VMware PKS分析自动化安全运维监控日志物理基础设施Container RegistryvSpherevSAN Kubernetes on BOSH(Kubo)NSX-TBOSHmasteretcdmasteretcdworkerVMware PKS提供了企业级就绪的Kubernetes33结构化数据指标报警事件VMware vRealize Operations容量、性能和配置管理事件上下文启动非结构化数据日志消息VMware vRealizeLog Insight日志分析、汇聚及搜索虚拟化/容器化应用vRealize Ops,vRealize Log Insight 提供综合的
17、可视性34K8S Summary Nodes,Pods,etc.K8S Topology-HealthK8S Pods-HealthvRealize Ops 监控 Kubernetes 集群 35目录授权、审批、策略CD 管道开发人员,CI/CDLOB 用户管理和运维私有云或数据中心公有云分支机构/边缘计算应用框架全球一致的基础架构即代码IAAS 编排蓝图云计算 API云计算 API使用任何云环境中的原生服务1蓝图和迭代开发迭代使用简化的 YAML 构建应用2集成式的目录和管道适用于自服务的目录和 CI/CD 管道3vRealize Automation 简化开发人员的使用36后端的UI和AP
18、I高级分析引擎指标收集及存储迭代与故障定位异常时的趋势及报警大规模可视化指标Wavefront By VMware 基于SaaS的指标监测和分析平台37App ContainersDocker HostDocker SwarmContainer Metric CollectorDocker HostDocker HostDocker ClusterAmazonECS实时洞察Docker容器及编排系统支持Kubernetes,Pivotal Cloud Foundry,Amazon ECSWavefront 可支持容器的监控套件38如何为容器应用选择合适工具?IaaS开发人员提供工具提供容器服务
19、容器编排容器调度适用于路由、日志和指标的基元容器映像、模板、部署容器实例容器映像容器运行时适用于网络和存储的基元容器实例为容器应用选择合适的工具40IaaS容器服务容器编排容器调度适用于路由、日志和指标的基元容器映像、模板、部署容器实例容器映像容器运行时适用于网络和存储的基元容器实例开发人员提供工具提供为容器应用选择合适的工具41降低复杂性、提高自动化程度、减少手动干预 提高灵活性、降低自动化程度、增加手动干预IaaS抽象化容器服务容器映像、模板、部署容器实例容器映像Pivotal Container ServiceBOSHvSphere Integrated Containers为容器应用选择合适的工具4243快速迭代CNCF(云原生计算基金会)代码重组和复用容器化封装康威定律云原生应用微服务应用程序解耦数字化转型体系和方法论持续交付敏捷基础设施VMware PKS应用场景和解决方案软件工程师专门构建的容器服务,用于为多种云环境企业和服务提供商实施 Kubernetes完整支持Kubernetes 基于 vSphere 和 VMC 运行 SDDC 上的统一虚拟机+容器与 NSX 深入集成强化、生产级 高可用性、安全性、多租户、工具VMware PKS 企业级容器服务优势总结 44