Skip to content

Commit

Permalink
feat: update Kubernetes to 1.21.0-beta.1
Browse files Browse the repository at this point in the history
See CHANGELOG:
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md

Refs #3329.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
  • Loading branch information
AlekSi committed Mar 22, 2021
1 parent a5b62f4 commit 20348fd
Show file tree
Hide file tree
Showing 8 changed files with 120 additions and 89 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ OPERATING_SYSTEM := $(shell uname -s | tr "[:upper:]" "[:lower:]")
TALOSCTL_DEFAULT_TARGET := talosctl-$(OPERATING_SYSTEM)
INTEGRATION_TEST_DEFAULT_TARGET := integration-test-$(OPERATING_SYSTEM)
INTEGRATION_TEST_PROVISION_DEFAULT_TARGET := integration-test-provision-$(OPERATING_SYSTEM)
KUBECTL_URL ?= https://storage.googleapis.com/kubernetes-release/release/v1.20.5/bin/$(OPERATING_SYSTEM)/amd64/kubectl
KUBECTL_URL ?= https://storage.googleapis.com/kubernetes-release/release/v1.21.0-beta.1/bin/$(OPERATING_SYSTEM)/amd64/kubectl
CLUSTERCTL_VERSION ?= 0.3.14
CLUSTERCTL_URL ?= https://github.com/kubernetes-sigs/cluster-api/releases/download/v$(CLUSTERCTL_VERSION)/clusterctl-$(OPERATING_SYSTEM)-amd64
SONOBUOY_VERSION ?= 0.19.0
SONOBUOY_URL ?= https://github.com/heptio/sonobuoy/releases/download/v$(SONOBUOY_VERSION)/sonobuoy_$(SONOBUOY_VERSION)_$(OPERATING_SYSTEM)_amd64.tar.gz
TESTPKGS ?= github.com/talos-systems/talos/...
RELEASES ?= v0.8.4 v0.9.0-alpha.5
RELEASES ?= v0.8.5 v0.9.0
SHORT_INTEGRATION_TEST ?=
CUSTOM_CNI_URL ?=

Expand Down
15 changes: 7 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ require (
go.etcd.io/etcd/api/v3 v3.5.0-alpha.0
go.etcd.io/etcd/client/v3 v3.5.0-alpha.0
go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 // indirect
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
golang.org/x/sys v0.0.0-20210301091718-77cc2087c03b
Expand All @@ -96,11 +95,11 @@ require (
gopkg.in/freddierice/go-losetup.v1 v1.0.0-20170407175016-fc9adea44124
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
honnef.co/go/tools v0.1.2 // indirect
k8s.io/api v0.20.5
k8s.io/apimachinery v0.20.5
k8s.io/apiserver v0.20.5 // indirect
k8s.io/client-go v0.20.5
k8s.io/cri-api v0.20.5
k8s.io/kubectl v0.20.5
k8s.io/kubelet v0.20.5
k8s.io/api v0.21.0-beta.1
k8s.io/apimachinery v0.21.0-beta.1
k8s.io/apiserver v0.21.0-beta.1 // indirect
k8s.io/client-go v0.21.0-beta.1
k8s.io/cri-api v0.21.0-beta.1
k8s.io/kubectl v0.21.0-beta.1
k8s.io/kubelet v0.21.0-beta.1
)
111 changes: 71 additions & 40 deletions go.sum

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion hack/test/e2e.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export TALOS_VERSION=v0.9
# Kubernetes

export KUBECONFIG="${TMP}/kubeconfig"
export K8S_VERSION=1.20.5
export K8S_VERSION=1.21.0-beta.1

# Sonobuoy

Expand Down
41 changes: 21 additions & 20 deletions internal/integration/provision/upgrade.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,18 +70,19 @@ type upgradeSpec struct {
}

const (
previousRelease = "v0.8.4"
stableRelease = "v0.9.0-alpha.5"
previousRelease = "v0.8.5"
stableRelease = "v0.9.0" // or soon-to-be-stable
// The current version (the one being built on CI) is DefaultSettings.CurrentVersion.

previousK8sVersion = "1.20.1"
stableK8sVersion = "1.20.4"
currentK8sVersion = "1.20.5"
previousK8sVersion = "1.20.1" // constants.DefaultKubernetesVersion in the previousRelease
stableK8sVersion = "1.20.5" // constants.DefaultKubernetesVersion in the stableRelease
currentK8sVersion = "1.21.0-beta.1" // next k8s version being tested
)

var defaultNameservers = []net.IP{net.ParseIP("8.8.8.8"), net.ParseIP("1.1.1.1")}

// upgradeBetweenTwoLastReleases upgrades between two last releases of Talos.
func upgradeBetweenTwoLastReleases() upgradeSpec {
// upgradePreviousToStable upgrades from the previous Talos release to the stable release.
func upgradePreviousToStable() upgradeSpec {
return upgradeSpec{
ShortName: fmt.Sprintf("%s-%s", previousRelease, stableRelease),

Expand All @@ -102,8 +103,8 @@ func upgradeBetweenTwoLastReleases() upgradeSpec {
}
}

// upgradeStableReleaseToCurrent upgrades last release to the current version of Talos.
func upgradeStableReleaseToCurrent() upgradeSpec {
// upgradeStableToCurrent upgrades from the stable Talos release to the current version.
func upgradeStableToCurrent() upgradeSpec {
return upgradeSpec{
ShortName: fmt.Sprintf("%s-%s", stableRelease, DefaultSettings.CurrentVersion),

Expand All @@ -122,8 +123,8 @@ func upgradeStableReleaseToCurrent() upgradeSpec {
}
}

// upgradeCurrentReleaseToCurrent upgrades current version to the current version of Talos.
func upgradeCurrentReleaseToCurrent() upgradeSpec {
// upgradeCurrentToCurrent upgrades the current version to itself.
func upgradeCurrentToCurrent() upgradeSpec {
installerImage := fmt.Sprintf("%s/%s:%s", DefaultSettings.TargetInstallImageRegistry, images.DefaultInstallerImageName, DefaultSettings.CurrentVersion)

return upgradeSpec{
Expand All @@ -146,8 +147,8 @@ func upgradeCurrentReleaseToCurrent() upgradeSpec {
}
}

// upgradeSingeNodePreserve upgrade last release of Talos to the current version of Talos for single-node cluster with preserve.
func upgradeSingeNodePreserve() upgradeSpec {
// upgradeStableToCurrentPreserve upgrades from the stable Talos release to the current version for single-node cluster with preserve.
func upgradeStableToCurrentPreserve() upgradeSpec {
return upgradeSpec{
ShortName: fmt.Sprintf("prsrv-%s-%s", stableRelease, DefaultSettings.CurrentVersion),

Expand All @@ -167,8 +168,8 @@ func upgradeSingeNodePreserve() upgradeSpec {
}
}

// upgradeSingeNodeStage upgrade last release of Talos to the current version of Talos for single-node cluster with preserve and stage.
func upgradeSingeNodeStage() upgradeSpec {
// upgradeStableToCurrentPreserveStage upgrades from the stable Talos release to the current version for single-node cluster with preserve and stage.
func upgradeStableToCurrentPreserveStage() upgradeSpec {
return upgradeSpec{
ShortName: fmt.Sprintf("prsrv-stg-%s-%s", stableRelease, DefaultSettings.CurrentVersion),

Expand Down Expand Up @@ -686,10 +687,10 @@ func (suite *UpgradeSuite) SuiteName() string {

func init() {
allSuites = append(allSuites,
&UpgradeSuite{specGen: upgradeBetweenTwoLastReleases, track: 0},
&UpgradeSuite{specGen: upgradeStableReleaseToCurrent, track: 1},
&UpgradeSuite{specGen: upgradeCurrentReleaseToCurrent, track: 2},
&UpgradeSuite{specGen: upgradeSingeNodePreserve, track: 0},
&UpgradeSuite{specGen: upgradeSingeNodeStage, track: 1},
&UpgradeSuite{specGen: upgradePreviousToStable, track: 0},
&UpgradeSuite{specGen: upgradeStableToCurrent, track: 1},
&UpgradeSuite{specGen: upgradeCurrentToCurrent, track: 2},
&UpgradeSuite{specGen: upgradeStableToCurrentPreserve, track: 0},
&UpgradeSuite{specGen: upgradeStableToCurrentPreserveStage, track: 1},
)
}
2 changes: 1 addition & 1 deletion pkg/machinery/constants/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ const (
SystemKubeletPKIDir = "/system/secrets/kubelet"

// DefaultKubernetesVersion is the default target version of the control plane.
DefaultKubernetesVersion = "1.20.5"
DefaultKubernetesVersion = "1.21.0-beta.1"

// DefaultControlPlanePort is the default port to use for the control plane.
DefaultControlPlanePort = 6443
Expand Down
4 changes: 2 additions & 2 deletions website/content/docs/v0.10/Reference/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ talosctl cluster create [flags]
--ipv4 enable IPv4 network in the cluster (default true)
--ipv6 enable IPv6 network in the cluster (QEMU provisioner only)
--iso-path string the ISO path to use for the initial boot (VM only)
--kubernetes-version string desired kubernetes version to run (default "1.20.5")
--kubernetes-version string desired kubernetes version to run (default "1.21.0-beta.1")
--masters int the number of masters to create (default 1)
--memory int the limit on memory usage in MB (each container/VM) (default 2048)
--mtu int MTU of the cluster network (default 1500)
Expand Down Expand Up @@ -1887,7 +1887,7 @@ talosctl upgrade-k8s [flags]
--endpoint string the cluster control plane endpoint
--from string the Kubernetes control plane version to upgrade from
-h, --help help for upgrade-k8s
--to string the Kubernetes control plane version to upgrade to (default "1.20.5")
--to string the Kubernetes control plane version to upgrade to (default "1.21.0-beta.1")
```

### Options inherited from parent commands
Expand Down
30 changes: 15 additions & 15 deletions website/content/docs/v0.10/Reference/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ Examples:

``` yaml
kubelet:
image: ghcr.io/talos-systems/kubelet:v1.20.5 # The `image` field is an optional reference to an alternative kubelet image.
image: ghcr.io/talos-systems/kubelet:v1.21.0-beta.1 # The `image` field is an optional reference to an alternative kubelet image.
# The `extraArgs` field is used to provide additional flags to the kubelet.
extraArgs:
feature-gates: ServerSideApply=true
Expand Down Expand Up @@ -938,7 +938,7 @@ Examples:

``` yaml
apiServer:
image: k8s.gcr.io/kube-apiserver:v1.20.5 # The container image used in the API server manifest.
image: k8s.gcr.io/kube-apiserver:v1.21.0-beta.1 # The container image used in the API server manifest.
# Extra arguments to supply to the API server.
extraArgs:
feature-gates: ServerSideApply=true
Expand Down Expand Up @@ -970,7 +970,7 @@ Examples:

``` yaml
controllerManager:
image: k8s.gcr.io/kube-controller-manager:v1.20.5 # The container image used in the controller manager manifest.
image: k8s.gcr.io/kube-controller-manager:v1.21.0-beta.1 # The container image used in the controller manager manifest.
# Extra arguments to supply to the controller manager.
extraArgs:
feature-gates: ServerSideApply=true
Expand All @@ -997,7 +997,7 @@ Examples:

``` yaml
proxy:
image: k8s.gcr.io/kube-proxy:v1.20.5 # The container image used in the kube-proxy manifest.
image: k8s.gcr.io/kube-proxy:v1.21.0-beta.1 # The container image used in the kube-proxy manifest.
mode: ipvs # proxy mode of kube-proxy.
# Extra arguments to supply to kube-proxy.
extraArgs:
Expand Down Expand Up @@ -1025,7 +1025,7 @@ Examples:

``` yaml
scheduler:
image: k8s.gcr.io/kube-scheduler:v1.20.5 # The container image used in the scheduler manifest.
image: k8s.gcr.io/kube-scheduler:v1.21.0-beta.1 # The container image used in the scheduler manifest.
# Extra arguments to supply to the scheduler.
extraArgs:
feature-gates: AllBeta=true
Expand Down Expand Up @@ -1229,7 +1229,7 @@ Appears in:


``` yaml
image: ghcr.io/talos-systems/kubelet:v1.20.5 # The `image` field is an optional reference to an alternative kubelet image.
image: ghcr.io/talos-systems/kubelet:v1.21.0-beta.1 # The `image` field is an optional reference to an alternative kubelet image.
# The `extraArgs` field is used to provide additional flags to the kubelet.
extraArgs:
feature-gates: ServerSideApply=true
Expand Down Expand Up @@ -1261,7 +1261,7 @@ Examples:


``` yaml
image: ghcr.io/talos-systems/kubelet:v1.20.5
image: ghcr.io/talos-systems/kubelet:v1.21.0-beta.1
```


Expand Down Expand Up @@ -2054,7 +2054,7 @@ Appears in:
``` yaml
image: k8s.gcr.io/kube-apiserver:v1.20.5 # The container image used in the API server manifest.
image: k8s.gcr.io/kube-apiserver:v1.21.0-beta.1 # The container image used in the API server manifest.
# Extra arguments to supply to the API server.
extraArgs:
feature-gates: ServerSideApply=true
Expand Down Expand Up @@ -2082,7 +2082,7 @@ Examples:
``` yaml
image: k8s.gcr.io/kube-apiserver:v1.20.5
image: k8s.gcr.io/kube-apiserver:v1.21.0-beta.1
```
Expand Down Expand Up @@ -2143,7 +2143,7 @@ Appears in:
``` yaml
image: k8s.gcr.io/kube-controller-manager:v1.20.5 # The container image used in the controller manager manifest.
image: k8s.gcr.io/kube-controller-manager:v1.21.0-beta.1 # The container image used in the controller manager manifest.
# Extra arguments to supply to the controller manager.
extraArgs:
feature-gates: ServerSideApply=true
Expand All @@ -2166,7 +2166,7 @@ Examples:
``` yaml
image: k8s.gcr.io/kube-controller-manager:v1.20.5
image: k8s.gcr.io/kube-controller-manager:v1.21.0-beta.1
```
Expand Down Expand Up @@ -2214,7 +2214,7 @@ Appears in:
``` yaml
image: k8s.gcr.io/kube-proxy:v1.20.5 # The container image used in the kube-proxy manifest.
image: k8s.gcr.io/kube-proxy:v1.21.0-beta.1 # The container image used in the kube-proxy manifest.
mode: ipvs # proxy mode of kube-proxy.
# Extra arguments to supply to kube-proxy.
extraArgs:
Expand Down Expand Up @@ -2261,7 +2261,7 @@ Examples:
``` yaml
image: k8s.gcr.io/kube-proxy:v1.20.5
image: k8s.gcr.io/kube-proxy:v1.21.0-beta.1
```
Expand Down Expand Up @@ -2310,7 +2310,7 @@ Appears in:
``` yaml
image: k8s.gcr.io/kube-scheduler:v1.20.5 # The container image used in the scheduler manifest.
image: k8s.gcr.io/kube-scheduler:v1.21.0-beta.1 # The container image used in the scheduler manifest.
# Extra arguments to supply to the scheduler.
extraArgs:
feature-gates: AllBeta=true
Expand All @@ -2333,7 +2333,7 @@ Examples:
``` yaml
image: k8s.gcr.io/kube-scheduler:v1.20.5
image: k8s.gcr.io/kube-scheduler:v1.21.0-beta.1
```
Expand Down

0 comments on commit 20348fd

Please sign in to comment.