miaoyun+Rancher+K8S学习与实践


Kubernetes版本和版本倾斜支持策略

<p>Kubernetes版本和版本倾斜支持策略</p> <p>本文档描述了各种Kubernetes组件之间支持的最大版本偏斜。特定的群集部署工具可能会对版本偏斜施加其他限制。 支持的版本</p> <p>Kubernetes版本用xyz表示,其中x是主要版本,y是次要版本,z是补丁版本,遵循语义版本控制术语。有关更多信息,请参见Kubernetes发行版本控制。</p> <p>Kubernetes项目维护着最近三个次要版本(1.18、1.17、1.16)的发行分支。</p> <p>可能会根据严重性和可行性将适用的修补程序(包括安全修补程序)反向移植到这三个发行分支。定期从这些分支中删除补丁发布,并在需要时添加其他紧急发布。</p> <p>该发行经理人集团拥有这一决定。</p> <p>有关更多信息,请参见Kubernetes 修补程序版本页面。 支持的版本偏斜 kube-apiserver</p> <p>在高可用性(HA)群集中,最新和最旧的kube-apiserver实例必须在一个次要版本内。</p> <p>例:</p> <pre><code>最新的kube-apiserver是1.18 其他kube-apiserver实例在1.18和1.17受支持</code></pre> <p>kubelet</p> <p>kubelet不得比较新kube-apiserver,并且最多可以早于两个次要版本。</p> <p>例:</p> <pre><code>kube-apiserver在1.18 kubelet在支持1.18,1.17和1.16 注意:如果kube-apiserverHA群集中的实例之间存在版本偏斜,则会缩小允许的kubelet版本。</code></pre> <p>例:</p> <pre><code>kube-apiserver实例位于1.18和1.17 kubelet在1.17和1.16处受支持(不支持1.18,因为它比kube-apiserver版本1.17的实例新)</code></pre> <p>kube-controller-manager,kube-scheduler和cloud-controller-manager</p> <p>kube-controller-manager,kube-scheduler和cloud-controller-manager不得比kube-apiserver与其通信的实例新。它们应与kube-apiserver次要版本匹配,但可能会比以前的次要版本高一个(以允许实时升级)。</p> <p>例:</p> <pre><code>kube-apiserver在1.18 kube-controller-manager,kube-scheduler和,cloud-controller-manager分别在1.18和1.17受支持 注意:如果kube-apiserverHA群集中的实例之间存在版本偏斜,并且这些组件可以与kube-apiserver群集中的任何实例通信(例如,通过负载平衡器),这将缩小这些组件的允许版本。</code></pre> <p>例:</p> <pre><code>kube-apiserver实例位于1.18和1.17 kube-controller-manager,kube-scheduler和cloud-controller-manager与可以路由到任何kube-apiserver实例的负载均衡器进行通信 kube-controller-manager,,kube-scheduler和cloud-controller-manager支持在1.17(不支持1.18,因为它比kube-apiserver版本1.17的实例新)</code></pre> <p>Kubectl</p> <p>kubectl的一个次要版本(较旧或较新)受支持kube-apiserver。</p> <p>例:</p> <pre><code>kube-apiserver在1.18 kubectl在支持1.19,1.18和1.17 注意:如果kube-apiserverHA群集中的实例之间存在版本偏斜,则会缩小支持的kubectl版本。</code></pre> <p>例:</p> <pre><code>kube-apiserver实例位于1.18和1.17 kubectl在1.18和1.17上受支持(其他版本将是从多个kube-apiserver组件之一偏斜的多个次要版本)</code></pre> <p>支持的组件升级顺序</p> <p>组件之间受支持的版本偏差会影响组件必须升级的顺序。本节介绍了升级组件的顺序,以将现有群集从1.17版过渡到1.18版。 kube-apiserver</p> <p>先决条件:</p> <pre><code>在单实例集群中,现有kube-apiserver实例为1.17 在高可用性群集中,所有kube-apiserver实例的大小均为1.17或1.18(这可确保最旧kube-apiserver实例和最新实例之间的1个次要版本的最大时滞) 的kube-controller-manager,kube-scheduler以及cloud-controller-manager与该服务器进行通信的实例是在版本1.17(这保证它们并不比现有的API服务器版本新,并且是新的API服务器版本1个版本内) kubelet所有节点上的实例版本为1.17或1.16(这确保它们不比现有API服务器版本新,并且在新API服务器版本的2个次要版本之内) 注册的准入网络钩子能够处理新kube-apiserver实例将发送给它们的数据: ValidatingWebhookConfiguration并且MutatingWebhookConfiguration对象已更新为包括1.18中添加的REST资源的任何新版本(或使用v1.15 +中可用的matchPolicy: Equivalent选项) Webhook能够处理将发送给他们的REST资源的任何新版本,以及在1.18版中添加到现有版本的任何新字段</code></pre> <p>升级kube-apiserver到1.18</p> <pre><code>注意:API弃用和API更改准则的项目政策要求kube-apiserver升级时不要跳过次要版本,即使在单实例集群中也是如此。</code></pre> <p>kube-controller-manager,kube-scheduler和cloud-controller-manager</p> <p>先决条件:</p> <pre><code>kube-apiserver这些组件与之通信的实例的速率为1.18(在HA集群中,这些控制平面组件可以与kube-apiserver集群中的任何实例进行通信,kube-apiserver在升级这些组件之前必须先升级所有实例)</code></pre> <p>升级kube-controller-manager,kube-scheduler以及cloud-controller-manager以1.18 kubelet</p> <p>先决条件:</p> <pre><code>与之通讯的kube-apiserver实例kubelet为1.18</code></pre> <p>(可选)将kubelet实例升级到1.18(或者可以将实例保留在1.17或1.16)</p> <pre><code>警告: 不建议kubelet在实例上始终存在两个次要版本的情况下运行群集kube-apiserver: 必须在的一个次要版本内升级它们,kube-apiserver然后才能升级控制平面 它增加了运行kubelet版本早于三个维护的次要版本的可能性</code></pre>

页面列表

ITEM_HTML