mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 18:24:07 +00:00
Merge pull request #120825 from pacoxu/kubeadm-skew-match
kubeadm: adjust kubeadm skew policy for upgrades
This commit is contained in:
commit
801932c012
@ -453,7 +453,7 @@ var (
|
||||
MinimumControlPlaneVersion = getSkewedKubernetesVersion(-1)
|
||||
|
||||
// MinimumKubeletVersion specifies the minimum version of kubelet which kubeadm supports
|
||||
MinimumKubeletVersion = getSkewedKubernetesVersion(-1)
|
||||
MinimumKubeletVersion = getSkewedKubernetesVersion(-3)
|
||||
|
||||
// CurrentKubernetesVersion specifies current Kubernetes version supported by kubeadm
|
||||
CurrentKubernetesVersion = getSkewedKubernetesVersion(0)
|
||||
|
@ -35,7 +35,7 @@ const (
|
||||
MaximumAllowedMinorVersionDowngradeSkew = 1
|
||||
|
||||
// MaximumAllowedMinorVersionKubeletSkew describes how many minor versions the control plane version and the kubelet can skew in a kubeadm cluster
|
||||
MaximumAllowedMinorVersionKubeletSkew = 1
|
||||
MaximumAllowedMinorVersionKubeletSkew = 3
|
||||
)
|
||||
|
||||
// VersionSkewPolicyErrors describes version skew errors that might be seen during the validation process in EnforceVersionPolicies
|
||||
|
@ -90,6 +90,24 @@ func TestEnforceVersionPolicies(t *testing.T) {
|
||||
},
|
||||
newK8sVersion: "v1.13.0",
|
||||
expectedMandatoryErrs: 1, // can't upgrade two minor versions
|
||||
},
|
||||
{
|
||||
name: "upgrading with n-3 kubelet is supported",
|
||||
vg: &fakeVersionGetter{
|
||||
clusterVersion: "v1.14.3",
|
||||
kubeletVersion: "v1.12.3",
|
||||
kubeadmVersion: "v1.15.0",
|
||||
},
|
||||
newK8sVersion: "v1.15.0",
|
||||
},
|
||||
{
|
||||
name: "upgrading with n-4 kubelet is not supported",
|
||||
vg: &fakeVersionGetter{
|
||||
clusterVersion: "v1.14.3",
|
||||
kubeletVersion: "v1.11.3",
|
||||
kubeadmVersion: "v1.15.0",
|
||||
},
|
||||
newK8sVersion: "v1.15.0",
|
||||
expectedSkippableErrs: 1, // kubelet <-> apiserver skew too large
|
||||
},
|
||||
{
|
||||
@ -123,13 +141,22 @@ func TestEnforceVersionPolicies(t *testing.T) {
|
||||
expectedMandatoryErrs: 1,
|
||||
},
|
||||
{
|
||||
name: "the maximum skew between the cluster version and the kubelet versions should be one minor version. This may be forced through though.",
|
||||
name: "the maximum skew between the cluster version and the kubelet versions should be three minor version.",
|
||||
vg: &fakeVersionGetter{
|
||||
clusterVersion: "v1.12.0",
|
||||
clusterVersion: "v1.13.0",
|
||||
kubeletVersion: "v1.10.8",
|
||||
kubeadmVersion: "v1.12.0",
|
||||
kubeadmVersion: "v1.13.0",
|
||||
},
|
||||
newK8sVersion: "v1.12.0",
|
||||
newK8sVersion: "v1.13.0",
|
||||
},
|
||||
{
|
||||
name: "the maximum skew between the cluster version and the kubelet versions should be three minor version. This may be forced through though.",
|
||||
vg: &fakeVersionGetter{
|
||||
clusterVersion: "v1.14.0",
|
||||
kubeletVersion: "v1.10.8",
|
||||
kubeadmVersion: "v1.14.0",
|
||||
},
|
||||
newK8sVersion: "v1.14.0",
|
||||
expectedSkippableErrs: 1,
|
||||
},
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user