Kubernetes虚拟化与云计算

Kubernetes虚拟化 (在希腊语意为“舵手”或“驾驶员”)由Joe Beda、Brendan Burns和Craig McLuckie创立,并由其他谷歌工程师,包括Brian Grant和Tim Hockin等进行加盟创作,并由谷歌在2014年首次对外宣布 。该系统的开发和设计都深受谷歌的Borg系统[的影响,其许多顶级贡献者之前也是Borg系统的开发者。在谷歌内部,Kubernetes的原始代号曾经是Seven,即星际迷航中的Borg(博格人)。Kubernetes标识中舵轮有七个轮辐就是对该项目代号的致意。
Kubernetes v1.0于2015年7月21日发布。随着v1.0版本发布,谷歌与Linux 基金会合作组建了Cloud Native Computing Foundation(CNCF)并将Kubernetes作为种子技术来提供。
Rancher Labs在其Rancher容器管理平台中包含了Kubernetes的发布版。[Kubernetes也在很多其他公司的产品中被使用,例如Red Hat的OpenShift,CoreOS的Tectonic, IBM的IBM私有云产品,精灵云的EcOS,以及 VMware的PKS等等。
而现今信息界常见的缩写手法“K8s”则是将“ubernete”八个字母缩写为“8”而来。

-摘录 

一.系统虚拟化云计算概述

VMware Cloud是全球使用率最高的云计算操作系统,Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。VMware Kubernetes为基于容器的工作负载提供了出色的自动化应用程序部署平台。但是应用程序服务(例如流量管理,群集内以及跨群集/区域之间的负载均衡)、服务发现、监视/分析和应用程序安全性,对于现代应用程序基础结构至关重要。企业要求可扩展的、经过现实世界测试且强大稳定的服务架构,以便在 Kubernetes集群中部署可用于生产环境的微服务应用程序。简化的云计算基础架构,使 IT 组织能够利用内部和外部资源,安全和低风险地提供新一代灵活可靠的 IT 服务。VMware Cloud通过提供新的公有云和私有云功能延展VMware的混合云战略,能够在通用运维环境下,实现跨云环境和设备运行、管理、连接和保护应用。

Kubernetes虚拟化

 

二. 虚拟化部署架构组成

Kubernetes虚拟化 是从 Google 为搭配「Borg」平台而使用的程式码所演变而来,原本是供大规模管理 Google 旗下资料中心之用。AWS 在推出 EC2 平台之际,让弹性网路伺服器架构一并亮相。Kubernetes 让公司得以使用开放式原始码,协调 EC2 等容器。Google、AWS、Azure 与其他主要公有云主机,都提供适用于云端网路伺服器协调作业的 Kubernetes 支援。客户可以使用 Kubernetes 来外包整个资料中心、网路/行动应用程式、软体即服务支援、云端网路代管或高效能运算。Kubernetes (常缩写为「K8s」) 隶属于 Cloud Native Computing Foundation,旨在支援云端资料中心管理软体的共用网路标准开发作业。Docker 为 Kubernetes 最常使用的容器虚拟化标准,可为程式设计团队提供多项整合式软体生命周期开发工具。RancherOS、CoreOS 与 Alpine Linux,都是专为容器使用所设计的热门作业系统。容器虚拟化不同于使用虚拟化管理程序的虚拟机或 VPS 工具,所需的生产环境作业系统规模通常较小。

三. Kubernetes容器的优势

Kubernetes 的主要优势,在于可在生产环境中操作自动化、弹性的网路伺服器平台,且不须受限于 AWS 的 EC2 服务。Kubernetes 能执行绝大多数的公有云代管服务,而且所有主流公司都为其提供具竞争力的价格。Kubernetes 可让企业将资料中心完全委外经营。此外,Kubernetes 也能用来将生产环境的网路与行动应用程式,扩充至最大等级的网路流量。Kubernetes 可让所有公司以具竞争力的资料中心价格取得硬体资源,以操作自有软体程式码,同时享有媲美大型公司的延展性。

  • 可移动: 公有云、私有云、混合云、多态云
  • 可扩展: 模块化、插件化、可挂载、可组合
  • 自修复: 自动部署、自动重启、自动复制、自动伸缩
  • Kubernetes 是开源系统,可以自由地部署在企业内部,私有云、混合云或公有云,让您轻松地做出合适的选择。
  • 快速部署应用
  • 快速扩展应用
  • 无缝对接新的应用功能
  • 节省资源,优化硬件资源的使用

 

 

Kubernetes虚拟化

四. Kubernetes与容器

Kubernetes 为开放式原始码容器协调作业平台。Docker 为搭配 Kubernetes 使用的主要容器虚拟化标准。其他的弹性网路伺服器协调作业系统,则包括 Docker Swarm、CoreOS Tectonic 与 Mesosphere。Intel 也与 Kata 联手推出一款与容器标准来与 Kubernetes 较劲,市面上还有许多 Linux 版本的容器。在软体产品的容器虚拟化领域中,Docker 享有最高市占率。Docker 为专精于容器虚拟化的软体开发公司,相较之下,Kubernetes 则属受编码人员社群支援的开放式原始码专案,社群成员包括各大主要 IT 公司的专业程式设计人员。

Kubernetes虚拟化 - 特性

 

自动化上线和回滚

  • Kubernetes 会分步骤地将针对应用或其配置的更改上线,同时监视应用程序运行状况以确保你不会同时终止所有实例。如果出现问题,Kubernetes 会为你回滚所作更改。你应该充分利用不断成长的部署方案生态系统。

服务发现与负载均衡

  • 无需修改你的应用程序即可使用陌生的服务发现机制。Kubernetes 为容器提供了自己的 IP 地址和一个 DNS 名称,并且可以在它们之间实现负载均衡。

服务拓扑(Service Topology)

  • 基于集群拓扑的服务流量路由。

存储编排

  • 自动挂载所选存储系统,包括本地存储、诸如 GCP 或 AWS 之类公有云提供商所提供的存储或者诸如 NFS、iSCSI、Gluster、Ceph、Cinder 或 Flocker 这类网络存储系统。

Secret 和配置管理

  • 部署和更新 Secrets 和应用程序的配置而不必重新构建容器镜像,且 不必将软件堆栈配置中的秘密信息暴露出来。

自动装箱

  • 根据资源需求和其他约束自动放置容器,同时避免影响可用性。将关键性工作负载和尽力而为性质的服务工作负载进行混合放置,以提高资源利用率并节省更多资源。

批量执行

  • 除了服务之外,Kubernetes 还可以管理你的批处理和 CI 工作负载,在期望时替换掉失效的容器。

IPv4/IPv6 双协议栈

  • 为 Pod 和 Service 分配 IPv4 和 IPv6 地址

水平扩缩

  • 使用一个简单的命令、一个 UI 或基于 CPU 使用情况自动对应用程序进行扩缩。

自我修复

  • 重新启动失败的容器,在节点死亡时替换并重新调度容器,杀死不响应用户定义的健康检查的容器,并且在它们准备好服务之前不会将它们公布给客户端。

Kubernetes服务本质是一组协同工作的pod,类同多层架构应用中的一层。构成服务的pod组通过标签选择器来定义。Kubernetes通过给服务分配静态IP地址和域名来提供服务发现机制,并且以轮循调度的方式将流量负载均衡到能与选择器匹配的pod的IP地址的网络连接上(即使是故障导致pod从一台机器移动到另一台机器)。 默认情况下,服务任务会暴露在集群中(例如,多个后端pod可能被分组成一个服务,前端pod的请求在它们之间负载平衡);除此以外,服务任务也可以暴露在集群外部(例如,从客户端访问前端pod)

而现今信息界常见的缩写手法“K8s”则是将“ubernete”八个字母缩写为“8”而来。

 

煜企智能在Kubernetes K8s部署上面有着丰富的经验,工程师都具备丰富的Kubernetes的部署经验,在基础网络建设中我们建议采用模块化的结构,模块化结构方式有两种主要优势。首先,它允许体系结构实现网络各功能块间的安全关系,其次,它让设计者可逐个模块地评估和实施安全性,而非试图在一个阶段就完成整个体系结构。模块化设计还可以简化日常维护管理流程,从而降低维护和管理的风险。需求解决方案的要点:1、链路负载均衡(多链路控制器)2、安全区域划分和隔离(WAF、防火墙)3、日志收集和分析(统一日志审计平台)4、各类应用的安全防护(WEB应用安全网关、数据库日志审计)5、检测和防止网络攻击及黑客入侵(入侵检测(IDS)入侵防御系统(IPS))

Kubernetes虚拟化

相关方案:

VMware服务器虚拟化解决方案

煜企业备份&容灾解决方案

VMware View桌面虚拟化解决方案

弱电与IT项目系统集成

 

煜企智能在 Kubernetes和 虚拟化、基础设施建设、弱电系统、系统集成中拥有丰富的案例,您有任何想法和需求,随时致电煜企智能获得咨询和支持。

 

微信扫码 | 加入我们

Kubernetes虚拟化 与 云计算解决方案插图(3)