Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的开源版本。
如果你想管理云中的容器,Kubernetes是理想的选择。最新发布的Kubernetes 1.8,比以往更好。
这很重要,为什么?容器正在快速成为在数据中心和云中运行服务器级应用的方式。最近来自研究机构Redmonk的一份报告,财富100强企业中有54%已经在运行Kubernetes,其中很多是非常大规模的任务。
例如,Ancestry.com有200亿条历史记录,9000万个家庭树,使其成为全球最大的消费者基因组DNA网络。通过使用Kubernetes,其Shaky Leaf图标服务的部署时间从原来的50分钟缩短到2-5分钟。Ancestry的一位软件工程师、架构师Paul MacKay这样写道:“到年底,我们几乎一切都将处于在Kubernetes环境中Linux友好的状态。”
这次发布的新版本中可能最好的功能,就是基于角色的访问控制(RBAC)了,这项功能让集群管理员可以动态地定义角色,通过Kubernetes API来实施访问策略。
RBAC中还包括通过Kubernetes网络策略支持过滤出站流量,以补充现有对过滤入站流量的支持。Pod是Kubernetes最小的部署单元,包括1个或者多个带有共享存储、网络的容器,以及如何运行容器的规范。总而言之,RBAC和网络策略是强制执行Kubernetes组织和法规安全要求的两个强大工具。
这个版本还将核心的Workload API带入测试版。它包含最新版本的Deployment、DaemonSet、ReplicaSet以及StatefulSet。Workload API现在是稳定的,可用于将现有工作负载迁移到Kubernetes,以及用于开发云原生应用。Workload API还可以帮助大数据用户,实现对Apache Spark的原生Kubernetes支持。
另一个测试功能Custom Resource Definitions(CRDs)提供了一个机制,通过用户定义的API对象来扩展Kubernetes。为什么你要使用这个机制?一种方法是使用CRD通过Operator Pattern来自动化复杂的状态应用,例如键值存储、数据库和存储引擎。CRD目前并没有验证功能,但是预计会出现在下一个版本的。
CronJobs现在还在测试中,它可以让管理员运行批量容器工作负载,例如每天晚上的提取、转换和(ETL)数据仓库作业。
Red Hat OpenShift项目经理Mike Barrett,和Red Hat Linux容器步道师Joe Brockmeier进行了深入解析,称他们的客户期待批量作业,我们相信Resource Management Working Group“阿尔法代码将引发云计算的下一波热潮”。
这让开发者可以通过Device Manager访问硬件设备,例如NIC、GPU、FPGA、Infiniband等等;CPU Manager:这样用户可以请求通过保证的Quality of Services (QoS)层分配静态CPU;还有HugePages,这样用户可以消费底层硬件支持的任何大小的大内存页。
Kubernetes高级审核功能进入测试阶段。一位CoreOS工程师Eric Chiang“介绍了格式化的审核日志,控制审核内容的策略,一个发送事件到外部服务的Webhook。审核事件现在配置可以包含整个请求有效负载,汇聚到中心位置……审核事件格式只能做向后兼容的变更。这给社区带来了一个开始试验消费方式、显示、对来自审核日志Webhook的事件采取行动的机会。早期的例子是audit2rbac工具,该工具可消耗审核事件,自动创建RBAC配置文件。”
总的来说,你将在让Kubernetes成为全面云容器编排程序方面迈出重要一步。