Kubernetes V1.3 预览-认证,伸缩和改进的安装方式

简介: 文讲的是Kubernetes V1.3 预览-认证,伸缩和改进的安装方式【编者的话】本文为Core OS在其官方博客中发布的关于在Kubernetes 1.3的预览文章,介绍了目前Kubernetes新版本带来的新的引人入胜的特性和改进功能。
本文讲的是Kubernetes V1.3 预览-认证,伸缩和改进的安装方式【编者的话】本文为Core OS在其官方博客中发布的关于在Kubernetes 1.3的预览文章,介绍了目前Kubernetes新版本带来的新的引人入胜的特性和改进功能。本文作者为Mike Saparov,目前作为副总裁任职于CoreOS公司。

随着Kubernetes 1.3版本发布时间的临近,我们在这里分享一个关于CoreOS的文档,它可以帮助整个社区朝着这个重要的里程碑前进。Kubernetes是很多企业在早期环境中采用的并且能够持续推动其快速发展的一门技术。CoreOS团队选择专注于其在如下几个关键领域的发展,这将会进一步促进Kubernetes在世界各地的数据中心的使用:
  • Kubernetes API的身份验证和授权;
  • 改善了Kubernetes的安装和升级过程;
  • 通过引入一个初步的etcd v3的集群元数据来优化其在scaling方面的改进;
  • 最后但并不是最重要的:rktnetes,使用rkt容器运行Kubernetes的一个初始发行版本。

身份验证和授权的Kubernetes APIs

开发和运营人员喜欢Kubernetes能够仅仅通过一个API就可以为他们在集群环境中部署和管理容器。然而,在任何真实的环境中,访问控制是非常重要的。不是所有开发者都需要在CI集群上的超级用户权限。往往生产和部署需要更严格的权限控制,例如管理对单独的资源的访问,通过将用户分组在一起来简化管理,并且持续地审计用户的操作行为。Kubernetes需要一项新的验证(authN)和授权(authZ)机制以满足这些要求。

AuthN:连接的OpenID身份提供商(OpenID Connect Identity Providers)

随着1.3版本的发布,CoreOS开发了一个 OpenID Connect(OIDC)  AuthProvider插件作为该版本的一部分,它允许OIDC身份提供商(IdPs)代表API服务器去验证kubectl和其他客户端。该OIDC AuthProvider可用于认证Kubernetes连接到任何OIDC身份提供商(IdP)。目前在云端,流行的OIDC 身份提供商(IdPs)包括有Google Identity和Amazon Cognito。

另一个OIDC身份提供商则是CoreOS的开源项目 Dex 。Dex提供了一种灵活的方式来联合几个服务认证,包括现有的LDAP服务器和AD的LDAP接口。概括来讲,Kubernetes OIDC AuthProvider和Dex与企业现有的认证策略做了整合访问。

AuthZ:基于角色的访问控制(Role Based Access Control)

CoreOS的开发者们也一致努力将基于角色的控制访问(Role Based Access Control,RBAC)的工作整合进Kubernetes之中,这项功能也已经在v1.3中被引进并打上“alpha”标签了。该RBAC的实现是源于Red Hat的OepnShift项目。众所周知,基于用户角色的访问控制是大多数组织所熟悉的一种最佳实践,并且它允许管理员来规范用户根据其工作职能从而可以或者不可以做某些事。例如,属于“QA Team”角色的用户也许只有对于某一个生产集群中的节点的子集具有只读权限仅用于发布测试。

该RBAC系统建立于Kubernetes资源之上,可以让角色、权限和关系动态作用于first-class的API交互,将之前Kubernetes版本的authZ设施中的静态平面文件放置于其后面。该RBAC功能被添加进了Kubernetes 1.3中,简化了针对不同企业群体、团队或者会计制度的关于多租户环境中的创建情况。我们将在未来的某篇文章中进一步研究Kubernetes中的authN和authZ的原理以及特性。

简化Kubernetes安装和升级

Kubernetes可以被认为是整个集群中的一个操作系统,并且在有些时候,这种复杂性可以在通过安装和管理它的各种组件的过程中来展现。目前推荐的更新方法基本上是——“创建一个新的集群,迁移工作负载,销毁旧的集群”——然而这并不是理想的运营团队所需要的。

由于CoreOS是该社区的一部分,因此我们在持续的努力,使得它的这些过程变得简单,并且关于以下的改进计划将会在Kubernetes 1.3中被合并:
  • 针对AWS Kubernetes上精美的安装工具的大量的升级和改进,kube-aws,为多种环境所写的手把手指南文档。
  • 支持“self-hosted”Kubelet,由于该技术已经成熟了,这将支持通过Kubernetes API本身来控制Kubernetes的无缝升级。
  • Kubelet现在可以在rktACI(App container image)中运行了。这使得Kubelet部署新的容器镜像变得简单了。

etcd v3存储层

你可能已经知道,Kubernetes依赖于开源 etcd 的key-value store用于协调其群集状态。Kubernetes 1.3版本增加了对新的etcd v3后端的实验性支持。这些额外的etcd v3的设置为未来的Kubernetes可扩展性的工作打下了坚实的基础,例如运行更多的pods,更多的nodes并伴随着持续的高性能低负载特性。etcd的第三个版本同样带来了更多有用的功能集合,包括了多版本的并发控制(multi-version concurrency control,MVCC),高效率的多键交互(multiple key transactions),这将会有助于Kubernetes在未来的版本中达到甚至超越数千个节点。

在这个阶段,我们正在收集关于新的etcd的后端反馈,并且使用这些被分享的经验来推动并发布让其作为下一个生产环境的功能用于Kubernetes v1.4中。在接下来的几周中,我们将会逐步分享更多关于etcd v3的变化,从etcd v2迁移到v3,并且关于升级etcd v3和Kubernetes整合的系列的更多细节的文章。

rktnetes:在Kubernetes中的rkt容器引擎。

该项工作内容可以被简称为rktnetes,它介绍了在Kubernetes中的新的容器引擎。CoreOS的开源rkt 容器runtime 具有的一些有用的功能可以与Kubernetes和容器集群的整体理念保持一致,例如将pod作为控制单元,并采用了 Container Network Interface(CNI) 用于容器连接的简化。rktnetes可以让Kubernetes使用rkt于每个节点上取出并执行容器镜像。

在Kubernetes 1.3中,rktnetes是在“实验性”地追踪并准备在许多集群上运行。它的目标是在1.4版中变得“稳定”。在rktnetes上的工作有助于确保基本的Kubernetes界面的通用性,使得容器正常运行变得容易,这些容器都是专门用于交互的容器,并且不同的rumtime来适应某种架构、网站或者部署的特定需求。

Kubernetes 1.3及后期版本:加入确保互联网安全的使命

对于上文所强调的,我们已经通过努力的工作和结合整个社区的巧妙思维使其他一些的基本特征成为了可能,Kubernetes 1.3是一个很实在的版本,并且CoreOS团队很荣幸地能成为其中的一员。大家可以在未来的几周关注此空间和 Kubernetes官方博客 关于Kubernetes v1.3的官方发布的细节,并且开始试着尝试rktnetes, etcd v3 API和很多其他新的功能。 如果你在类似于Kubernetes或者etcd在生产分布式系统的前沿做工作, 加入我们 。如果你有兴趣了解更多关于CoreOS如何帮助企业环境的Kubernetes部署,联系我们,可以为你创建一个私人的Kubernetes 培训课程 或尝试Tectonic的 Starter版本

原文链接:Kubernetes v1.3 Preview - Auth, Scale, and Improved Install(翻译:薛开成)

原文发布时间为:2016-06-27

本文作者:薛开成

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:Kubernetes V1.3 预览-认证,伸缩和改进的安装方式

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
15天前
|
Kubernetes 网络协议 网络安全
提升你的云技能:深入了解CKA认证之k8s升级秘籍!
提升你的云技能:深入了解CKA认证之k8s升级秘籍!
18 0
|
2月前
|
Kubernetes 数据安全/隐私保护 Docker
|
2天前
|
Kubernetes Linux 网络安全
kubeadm安装k8s
该文档提供了一套在CentOS 7.6上安装Docker和Kubernetes(kubeadm)的详细步骤,包括安装系统必备软件、关闭防火墙和SELinux、禁用swap、开启IP转发、设置内核参数、配置Docker源和加速器、安装指定版本Docker、启动Docker、设置kubelet开机启动、安装kubelet、kubeadm、kubectl、下载和配置Kubernetes镜像、初始化kubeadm、创建kubeconfig文件、获取节点加入集群命令、下载Calico YAML文件以及安装Calico。这些步骤不仅适用于v1.19.14,也适用于更高版本。
37 1
|
20天前
|
Kubernetes 测试技术 API
ChaosBlade常见问题之安装K8S探针心跳检测失败如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
19 0
|
27天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes服务网络Ingress网络模型分析、安装和高级用法
Kubernetes服务网络Ingress网络模型分析、安装和高级用法
34 5
|
27天前
|
存储 Kubernetes 监控
KubeSphere平台安装系列之一【Kubernetes上安装KubeSphere(亲测--实操完整版)】(1/3)
KubeSphere平台安装系列之一【Kubernetes上安装KubeSphere(亲测--实操完整版)】(1/3)
39 0
|
27天前
|
存储 Kubernetes 监控
K8S集群上安装KubeSphere的详细过程
K8S集群上安装KubeSphere的详细过程
26 0
|
28天前
|
Kubernetes Linux Docker
深度解析:Kubernetes 1.28.2集群安装过程中的关键步骤
本文旨在为读者提供一份详尽的Kubernetes 1.28.2集群安装指南,帮助您从零开始构建稳定、高效的Kubernetes集群。我们将从环境准备、软件安装、集群初始化到节点添加等各个环节进行逐步讲解,确保您能够顺利完成集群的搭建。
|
1月前
|
运维 Kubernetes API
kubernetes 安装 kubernetes-dashboard 7.x
kubernetes 安装 kubernetes-dashboard 7.x
35 0
|
3月前
|
Prometheus Kubernetes Cloud Native
kubernetes安装Prometheus
##### 安装 在目标集群上,执行如下命令: ```shell kubectl apply -f https://github.com/512team/dhorse/raw/main/conf/kubernetes-prometheus.yml

推荐镜像

更多