感谢Sascha Grunert的这篇文章所提供的技术信息。除了是SUSE CaaS Platform团队的Containers Squad成员之外,Sascha还是Kubernetes Release Engineering Subproject的技术负责人,该项目是SIG Release的一部分。他以不同角色参与了多个Kubernetes发布周期,今天正为您带来下一个版本的更新。
SUSE对Kubernetes Project为最受欢迎的容器编排和管理平台的又一次发展所取得的成果表示祝贺,它是SUSE CaaS Platform的基础。可以期待,在将来的SUSE版本中您将看到对Kubernetes 1.19的支持。
现在让我们阅读Sascha带来的内容……
概述
8月27日,Special Interest Group(SIG)发布了容器编排软件的下一个里程碑。这次我们决定将发布周期从通常的三个月延长到四个月以上。这一决定背后的总体思路是减缓开发速度,减轻Kubernetes贡献者和使用者的压力,尤其是当前许多人正因新冠肺炎而调整工作流程。让我们看看实际成果如何。
在撰写这篇博文时(发布前几天),已有3757个提交,这使其成为介于v1.18.0和最新候选版本(RC)v.19.0-rc.4之间的主分支。但并非所有这些提交都包含面向用户的变更:只有395个发布说明是最新RC的一部分。这比平常多了大约100个发布说明,体现了增加的发行周期跨度。
了解Kubernetes开发进展的一个好方法是查看当前版本发行说明[1]。让我们来看看该版本的一些亮点。
安全修复
两个通用漏洞披露(CVE)将在Kubernetes1.19.0版中予以修复。
第一个是CVE-2020-8559,它允许从群集内的一个节点进行权限升级。这意味着,如果有可能拦截对Kubelet的某些请求,那么攻击者可以发送重定向响应,接着使用原始请求凭据的客户端请求可能会随后发出。这可能导致集群内的其他节点受损。
另一个固定漏洞是CVE-2020-8557。这一CVE允许通过容器内装载的/etc/hosts文件进行拒绝服务。如果一个容器向/etc/hosts文件中写入大量数据,那么它可能会填满节点的存储空间并导致节点失败。这个问题的根本原因是Kubelet没有驱逐这部分临时存储。
特色亮点
安全计算模式(Seccomp)已经升级为通用可用性(GA)。Seccomp使DevSecOps能够通过保证只允许它们执行代码所需的系统调用,在容器或容器周围创建“护栏”。这可以防止许多特权升级攻击。一个新的“seccompProfile”字段已添加到pod和容器securityContext对象中。(对seccomp.security.alpha.kubernetes.io/pod和container.seccomp.security.alpha.kubernetes.io/...注释的支持现已被弃用,将在Kubernetes v1.22.0版中删除。现在,自动版本偏差处理会将新字段转换为注释,反之亦然。)
Kube Scheduler的配置kubescheduler.config.k8s.io已从v1alpha2升级到v1beta1。此API使得备用调度程序插件的开发者更容易配置其代码,而不用修改命令行选项。当转移到新的API时,需要一些手动操作,但是相应的Kubernetes Enhancement Proposal (KEP)[2]应该提供关于变更的所有必要细节。
Kube API Server的componentstatus API现已被弃用。该API先前提供了etcd、kube-scheduler和kube-controller-manager组件的状态。这个API的一个主要缺点是,它只在组件位于API服务器本地并且暴露了不安全的健康端点时才起作用。代替此API,etcd health现在被包括在kube-apiserver健康检查中,并且kube-scheduler/kube-controller-manager健康检查可以直接针对那些组件的健康端点进行。这提供了外部可访问且更安全的健康检查机制。
CustomResourceDefinitions现在支持通过设置spec.versions[*].deprecated为true将版本标记为弃用,并可选地用spec.versions[*].deprecationWarning字段重叠默认的弃用警告。这将使Custom Resources和Custom Resource Definitions (CRDs)的开发人员有可能为他们的增强型用户准备升级代码的需要。
SetHostnameAsFQDN现在是PodSpec中的一个新字段。当设置其为真时,pod的完全限定域名(FQDN)被设置为其容器的主机名,这有助于消除主机名管理的混乱。
其他变化
CoreDNS已更新到v1.7.0。这是一个向后不兼容的版本;例如,度量名称已更改,联盟插件已删除。
Kubelet现在具有对cgroups v2的初始支持。这意味着现在可以在使用cgroups v2统一或独立模式的主机上运行Kubelet。
Kubernetes现在使用Golang v.1 . 15 . 0版本构建。除此之外,Kubernetes不再支持构建hyperkube图像。如您过去一直使用它,请切换到新的Debian的容器镜像。
与Kubeadm一起有许多变化。例如,kubeadm config view命令已被弃用,将在功能发布中删除。Kubeadm现在区分生成的和用户提供的组件配置,如果需要升级配置,则重新生成前者。
另一个需要强调的变化是,Kubeadm现在尊重ClusterConfiguration中用户指定的etcd版本,并会正确使用它们。Kubeadm现在尊重用户设置的resolvConf值,即使systemd-resolved服务处于活动状态。kubeadm config upload命令在被弃用后终于被删除了。如果您仍然需要使用它,请改用kubeadm init phase upload-config。
一些API字段已被弃用,比如apiextensions.k8s.io/v1beta1 (支持apiextensions.k8s.io/v1)、apiregistration.k8s.io/v1beta1 (支持apiregistration.k8s.io/v1)、 authentication.k8s.io/v1beta1、authorization.k8s.io/v1beta1、autoscaling/v2beta1 (支持autoscaling/v2beta2)和coordination.k8s.io/v1beta1。
自定义Endpoints现由新的EndpointSliceMirroring控制器镜像到EndpointSlices。默认情况下,Kube Proxy现在在Linux上使用EndpointSlices而不是Endpoints。
CertificateSigningRequestAPI已提升至certificates.k8s.io/v1。这自然带来了此API的一些变化;比如,现在spec.signerName 成为必需,且不允许通过certificates.k8s.io/v1 API创建对kubernetes.io/legacy-unknown的请求。
我们对kubectl做了很多修改。例如,现在支持其创建具有副本和指定--port的部署。kubectl annotate现有一个--list选项,然而弃用的--server-dry-run标志已从kubectl apply移除。kubectl config view现在默认情况下以与客户端证书相同的方式编辑承载令牌。kubectl alpha debug命令现在支持通过复制原始命令来调试pod。它还通过创建在节点的主机命名空间中运行的调试容器来支持调试节点。
IT解决方案
产品品类:
SUSE Linux企业服务器、Z系统和LinuxONE的SUSE Linux企业服务器、用于POWER的SUSE Linux企业服务器、用于ARM的SUSE Linux企业服务器、用于SAP应用程序的SUSE Linux企业服务器、SUSE Linux企业高性能计算、SUSE Linux企业实时、支持扩展的SUSE Linux企业服务器、SUSE Linux企业级服务点、SUSE Linux企业桌面、用于AmazonEC 2的SUSE Linux企业服务器、用于Azure的SUSE Linux企业服务器、SUSE Linux企业高可用性扩展、基于Geo集群的SUSE Linux企业高可用性扩展、SUSE Linux企业服务器工作站扩展、SUSE Linux企业虚拟机驱动程序包、SUSE LinuxEnterpriseLive修补、SUSE企业存储、SUSE容器作为服务平台、SUSE经理、零售经理、SUSE LinuxEnterpriseforARM、用于IBMZ和LinuxONE的SUSE Linux企业服务器、用于POWER的SUSE Linux企业服务器、SUSE嵌入式系统
运行SAP:用于SAP应用程序的SUSE Linux企业服务器、用于高可用性扩展的SUSE Linux企业服务器、、容器和应用平台、SUSE CaaS平台、SUSE云应用平台、SUSE DevOps
高可用性:用于高可用性扩展的SUSE Linux企业服务器、面向高可用性Geo集群的SUSE Linux企业、SUSE Linux企业实时、SUSE LinuxEnterpriseLive修补、SUSE Linux企业高性能计算
品牌:
SUSE Linux操作系统
解决方案:
SUSE12修改密码、suse linux 安装软件、suse系统、suse和redhat区别、opensuse使用教程、技术资源、核极限、KVM限制、Xen极限、文件系统、支持Java版本
不间断的IT、Running SAP Solutions、运行SAP解决方案、Adopting Containers、容器比例尺、Managing Hybrid Clouds、混合云解决方案、Government Solutions、Deliver Applications Faster、Harness the Data Explosion、引导数据热潮、Powering AI Advanced Analytics、幂AI与分析、Innovate at the Edge
更多品类和方案、价格 请咨询:
成都科汇科技有限公司
地址:成都市人民南路四段1号时代数码大厦18F
电话:400-028-1235
QQ: 1325383361
手机:180 8195 0517(微信同号)