1. Kubernetes1.12更新日志
该版本发布继续关注 Kubernetes 的稳定性,主要是内部改进和一些功能的毕业。该版本中毕业的功能有安全性和 Azure 的关键功能。此版本中还有两个毕业的值得注意的新增功能:Kubelet TLS Bootstrap 和 Azure Virtual Machine Scale Sets(AVMSS)支持。
这些新功能意味着更高的安全性、可用性、弹性和易用性,可以更快地将生产应用程序推向市场。该版本还表明 Kubernetes 在开发人员方面日益成熟。
下面是该版本中的一些关键功能介绍。
1.1. Kubelet TLS Bootstrap GA
我们很高兴地宣布 Kubelet TLS Bootstrap GA。在 Kubernetes 1.4 中,我们引入了一个 API,用于从集群级证书颁发机构(CA)请求证书。此 API 的初衷是为 kubelet 启用 TLS 客户端证书的配置。此功能允许 kubelet 将自身引导至 TLS 安全集群。最重要的是,它可以自动提供和分发签名证书。
之前,当 kubelet 第一次运行时,必须在集群启动期间在带外进程中为其提供客户端凭据。负担是运营商提供这些凭证的负担。由于此任务对于手动执行和复杂自动化而言非常繁重,因此许多运营商为所有 kubelet 部署了具有单个凭证和单一身份的集群。这些设置阻止了节点锁定功能的部署,如节点授权器和 NodeRestriction 准入控制器。
为了缓解这个问题,SIG Auth 引入了一种方法,让 kubelet 生成私钥,CSR 用于提交到集群级证书签署过程。v1(GA)标识表示生产加固和准备就绪,保证长期向后兼容。
除此之外,Kubelet 服务器证书引导程序和轮换正在转向测试版。目前,当 kubelet 首次启动时,它会生成一个自签名证书/密钥对,用于接受传入的 TLS 连接。此功能引入了一个在本地生成密钥,然后向集群 API server 发出证书签名请求以获取由集群的根证书颁发机构签名的关联证书的过程。此外,当证书接近过期时,将使用相同的机制来请求更新的证书。
1.2. 稳定支持Azure Virtual Machine Scale Sets(VMSS)和Cluster-Autoscaler
Azure Virtual Machine Scale Sets(VMSS)允许您创建和管理可以根据需求或设置的计划自动增加或减少的同类 VM 池。这使您可以轻松管理、扩展和负载均衡多个 VM,从而提供高可用性和应用程序弹性,非常适合可作为 Kubernetes 工作负载运行的大型应用程序。
凭借这一新的稳定功能,Kubernetes 支持使用 Azure VMSS 扩展容器化应用程序,包括将其与 cluster-autoscaler 集成的功能根据相同的条件自动调整 Kubernetes 集群的大小。
1.3. 其他值得注意的功能更新
RuntimeClass
是一个新的集群作用域资源,它将容器运行时属性表示为作为 alpha 功能发布的控制平面。Kubernetes 和 CSI 的快照/恢复功能正在作为 alpha 功能推出。这提供了标准化的 API 设计(CRD),并为 CSI 卷驱动程序添加了 PV 快照/恢复支持。
拓扑感知动态配置现在处于测试阶段,存储资源现在可以感知自己的位置。这还包括对AWS EBS和GCE PD的beta支持。
可配置的 pod 进程命名空间共享处于测试阶段,用户可以通过在 PodSpec 中设置选项来配置 pod 中的容器以共享公共PID命名空间。
根据条件的 taint 节点现在处于测试阶段,用户可以通过使用 taint 来表示阻止调度的节点条件。
Horizontal Pod Autoscaler 中的任意/自定义指标正在转向第二个测试版,以测试一些其他增强功能。这项重新设计的 Horizontal Pod Autoscaler 功能包括对自定义指标和状态条件的支持。
允许 Horizontal Pod Autoscaler 更快地达到适当大小正在转向测试版。
Pod 的垂直缩放现在处于测试阶段,使得可以在其生命周期内改变 pod 上的资源限制。
通过 KMS 进行静态加密目前处于测试阶段。增加了多个加密提供商,包括 Google Cloud KMS、Azure Key Vault、AWS KMS 和 Hashicorp Vault,它们会在数据存储到 etcd 时对其进行加密。
1.4. 可用性
Kubernetes 1.12可以在 GitHub 上下载。要开始使用 Kubernetes,请查看这些交互式教程。您也可以使用 Kubeadm 来安装1.12。