mirror of https://github.com/kubernetes/kops.git
Use Ubuntu 22.04 (Jammy) as the default distro for K8s 1.27+
This commit is contained in:
parent
36334f41ba
commit
5901a8ae30
|
@ -61,11 +61,19 @@ spec:
|
|||
- name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20230502
|
||||
providerID: aws
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.18.0"
|
||||
kubernetesVersion: ">=1.18.0 <1.27.0"
|
||||
- name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-arm64-server-20230502
|
||||
providerID: aws
|
||||
architectureID: arm64
|
||||
kubernetesVersion: ">=1.20.0"
|
||||
kubernetesVersion: ">=1.20.0 <1.27.0"
|
||||
- name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230601
|
||||
providerID: aws
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.27.0"
|
||||
- name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-arm64-server-20230601
|
||||
providerID: aws
|
||||
architectureID: arm64
|
||||
kubernetesVersion: ">=1.27.0"
|
||||
- name: cos-cloud/cos-stable-65-10323-99-0
|
||||
providerID: gce
|
||||
architectureID: amd64
|
||||
|
@ -77,11 +85,19 @@ spec:
|
|||
- name: ubuntu-os-cloud/ubuntu-2004-focal-v20230302
|
||||
providerID: gce
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.18.0"
|
||||
kubernetesVersion: ">=1.18.0 <1.27.0"
|
||||
- name: ubuntu-os-cloud/ubuntu-2204-jammy-v20230606
|
||||
providerID: gce
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.27.0"
|
||||
- name: Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:20.04.202303020
|
||||
providerID: azure
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.20.0"
|
||||
kubernetesVersion: ">=1.20.0 <1.27.0"
|
||||
- name: Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:22.04.202306010
|
||||
providerID: azure
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.27.0"
|
||||
cluster:
|
||||
kubernetesVersion: v1.5.8
|
||||
networking:
|
||||
|
|
|
@ -61,11 +61,19 @@ spec:
|
|||
- name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20230502
|
||||
providerID: aws
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.18.0"
|
||||
kubernetesVersion: ">=1.18.0 <1.27.0"
|
||||
- name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-arm64-server-20230502
|
||||
providerID: aws
|
||||
architectureID: arm64
|
||||
kubernetesVersion: ">=1.20.0"
|
||||
kubernetesVersion: ">=1.20.0 <1.27.0"
|
||||
- name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230601
|
||||
providerID: aws
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.27.0"
|
||||
- name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-arm64-server-20230601
|
||||
providerID: aws
|
||||
architectureID: arm64
|
||||
kubernetesVersion: ">=1.27.0"
|
||||
- name: cos-cloud/cos-stable-65-10323-99-0
|
||||
providerID: gce
|
||||
architectureID: amd64
|
||||
|
@ -77,11 +85,19 @@ spec:
|
|||
- name: ubuntu-os-cloud/ubuntu-2004-focal-v20230302
|
||||
providerID: gce
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.18.0"
|
||||
kubernetesVersion: ">=1.18.0 <1.27.0"
|
||||
- name: ubuntu-os-cloud/ubuntu-2204-jammy-v20230606
|
||||
providerID: gce
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.27.0"
|
||||
- name: Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:20.04.202303020
|
||||
providerID: azure
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.20.0"
|
||||
kubernetesVersion: ">=1.20.0 <1.27.0"
|
||||
- name: Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:22.04.202306010
|
||||
providerID: azure
|
||||
architectureID: amd64
|
||||
kubernetesVersion: ">=1.27.0"
|
||||
cluster:
|
||||
kubernetesVersion: v1.5.8
|
||||
networking:
|
||||
|
|
|
@ -6,6 +6,8 @@ This is a document to gather the release notes prior to the release.
|
|||
|
||||
# Significant changes
|
||||
|
||||
* **The default image has been updated to [Ubuntu 22.04 (Jammy)](https://kops.sigs.k8s.io/operations/images/#ubuntu-2204-jammy)**.
|
||||
|
||||
* The default retention duration for the etcd backups is now set to 90 days.
|
||||
This behaviour can be overridden by setting `spec.etcdClusters[*].manager.backupRetentionDays` in the cluster spec.
|
||||
|
||||
|
|
|
@ -358,10 +358,13 @@ func RecommendedKubernetesVersion(c *Channel, kopsVersionString string) *semver.
|
|||
// Returns true if the given image name has the stable or alpha channel images prefix. Otherwise false.
|
||||
func (c *Channel) HasUpstreamImagePrefix(image string) bool {
|
||||
return strings.HasPrefix(image, "kope.io/k8s-") ||
|
||||
strings.HasPrefix(image, "099720109477/ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-") ||
|
||||
strings.HasPrefix(image, "099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-") ||
|
||||
strings.HasPrefix(image, "cos-cloud/cos-stable-") ||
|
||||
strings.HasPrefix(image, "ubuntu-os-cloud/ubuntu-2004-focal-") ||
|
||||
strings.HasPrefix(image, "Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:")
|
||||
strings.HasPrefix(image, "ubuntu-os-cloud/ubuntu-2204-jammy-") ||
|
||||
strings.HasPrefix(image, "Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:") ||
|
||||
strings.HasPrefix(image, "Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:")
|
||||
}
|
||||
|
||||
// GetPackageVersion returns the version for the package, or an error if could not be found.
|
||||
|
|
|
@ -1526,30 +1526,36 @@ func addCiliumNetwork(cluster *api.Cluster) {
|
|||
|
||||
// defaultImage returns the default Image, based on the cloudprovider
|
||||
func defaultImage(cluster *api.Cluster, channel *api.Channel, architecture architectures.Architecture) (string, error) {
|
||||
kubernetesVersion, err := util.ParseKubernetesVersion(cluster.Spec.KubernetesVersion)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("unable to parse kubernetes version %q", cluster.Spec.KubernetesVersion)
|
||||
}
|
||||
|
||||
if channel != nil {
|
||||
var kubernetesVersion *semver.Version
|
||||
if cluster.Spec.KubernetesVersion != "" {
|
||||
var err error
|
||||
kubernetesVersion, err = util.ParseKubernetesVersion(cluster.Spec.KubernetesVersion)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("unable to parse kubernetes version %q", cluster.Spec.KubernetesVersion)
|
||||
}
|
||||
}
|
||||
if channel != nil && kubernetesVersion != nil {
|
||||
image := channel.FindImage(cluster.Spec.GetCloudProvider(), *kubernetesVersion, architecture)
|
||||
if image != nil {
|
||||
return image.Name, nil
|
||||
}
|
||||
image := channel.FindImage(cluster.Spec.GetCloudProvider(), *kubernetesVersion, architecture)
|
||||
if image != nil {
|
||||
return image.Name, nil
|
||||
}
|
||||
}
|
||||
|
||||
switch cluster.Spec.GetCloudProvider() {
|
||||
case api.CloudProviderDO:
|
||||
return defaultDOImage, nil
|
||||
case api.CloudProviderHetzner:
|
||||
return defaultHetznerImage, nil
|
||||
case api.CloudProviderScaleway:
|
||||
return defaultScalewayImage, nil
|
||||
if kubernetesVersion.LT(semver.MustParse("1.27.0")) {
|
||||
switch cluster.Spec.GetCloudProvider() {
|
||||
case api.CloudProviderDO:
|
||||
return defaultDOImageFocal, nil
|
||||
case api.CloudProviderHetzner:
|
||||
return defaultHetznerImageFocal, nil
|
||||
case api.CloudProviderScaleway:
|
||||
return defaultScalewayImageFocal, nil
|
||||
}
|
||||
} else {
|
||||
switch cluster.Spec.GetCloudProvider() {
|
||||
case api.CloudProviderDO:
|
||||
return defaultDOImageJammy, nil
|
||||
case api.CloudProviderHetzner:
|
||||
return defaultHetznerImageJammy, nil
|
||||
case api.CloudProviderScaleway:
|
||||
return defaultScalewayImageJammy, nil
|
||||
}
|
||||
}
|
||||
|
||||
return "", fmt.Errorf("unable to determine default image for cloud provider %q and architecture %q", cluster.Spec.GetCloudProvider(), architecture)
|
||||
|
|
|
@ -400,7 +400,19 @@ func TestDefaultImage(t *testing.T) {
|
|||
},
|
||||
},
|
||||
architecture: architectures.ArchitectureAmd64,
|
||||
expected: defaultDOImage,
|
||||
expected: defaultDOImageFocal,
|
||||
},
|
||||
{
|
||||
cluster: &api.Cluster{
|
||||
Spec: api.ClusterSpec{
|
||||
KubernetesVersion: "v1.27.0",
|
||||
CloudProvider: api.CloudProviderSpec{
|
||||
DO: &api.DOSpec{},
|
||||
},
|
||||
},
|
||||
},
|
||||
architecture: architectures.ArchitectureAmd64,
|
||||
expected: defaultDOImageJammy,
|
||||
},
|
||||
{
|
||||
cluster: &api.Cluster{
|
||||
|
@ -412,7 +424,19 @@ func TestDefaultImage(t *testing.T) {
|
|||
},
|
||||
},
|
||||
architecture: architectures.ArchitectureAmd64,
|
||||
expected: defaultHetznerImage,
|
||||
expected: defaultHetznerImageFocal,
|
||||
},
|
||||
{
|
||||
cluster: &api.Cluster{
|
||||
Spec: api.ClusterSpec{
|
||||
KubernetesVersion: "v1.27.0",
|
||||
CloudProvider: api.CloudProviderSpec{
|
||||
Hetzner: &api.HetznerSpec{},
|
||||
},
|
||||
},
|
||||
},
|
||||
architecture: architectures.ArchitectureAmd64,
|
||||
expected: defaultHetznerImageJammy,
|
||||
},
|
||||
{
|
||||
cluster: &api.Cluster{
|
||||
|
@ -424,7 +448,19 @@ func TestDefaultImage(t *testing.T) {
|
|||
},
|
||||
},
|
||||
architecture: architectures.ArchitectureAmd64,
|
||||
expected: defaultScalewayImage,
|
||||
expected: defaultScalewayImageFocal,
|
||||
},
|
||||
{
|
||||
cluster: &api.Cluster{
|
||||
Spec: api.ClusterSpec{
|
||||
KubernetesVersion: "v1.27.0",
|
||||
CloudProvider: api.CloudProviderSpec{
|
||||
Scaleway: &api.ScalewaySpec{},
|
||||
},
|
||||
},
|
||||
},
|
||||
architecture: architectures.ArchitectureAmd64,
|
||||
expected: defaultScalewayImageJammy,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -52,9 +52,12 @@ const (
|
|||
defaultMasterMachineTypeHetzner = "cx21"
|
||||
defaultMasterMachineTypeScaleway = "DEV1-M"
|
||||
|
||||
defaultDOImage = "ubuntu-20-04-x64"
|
||||
defaultHetznerImage = "ubuntu-20.04"
|
||||
defaultScalewayImage = "ubuntu_focal"
|
||||
defaultDOImageFocal = "ubuntu-20-04-x64"
|
||||
defaultHetznerImageFocal = "ubuntu-20.04"
|
||||
defaultScalewayImageFocal = "ubuntu_focal"
|
||||
defaultDOImageJammy = "ubuntu-22-04-x64"
|
||||
defaultHetznerImageJammy = "ubuntu-22.04"
|
||||
defaultScalewayImageJammy = "ubuntu_jammy"
|
||||
)
|
||||
|
||||
// TODO: this hardcoded list can be replaced with DescribeInstanceTypes' DedicatedHostsSupported field
|
||||
|
|
Loading…
Reference in New Issue