Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update Kubernetes to v1.19.7 #666

Merged
merged 1 commit into from
Jan 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -120,15 +120,15 @@ RUN echo ${CACHEBUST}>/dev/null
RUN CHART_VERSION="v3.13.3" CHART_FILE=/charts/rke2-canal.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
RUN CHART_VERSION="1.10.101" CHART_FILE=/charts/rke2-coredns.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
RUN CHART_VERSION="1.36.300" CHART_FILE=/charts/rke2-ingress-nginx.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh
RUN CHART_VERSION="v1.19.5" CHART_FILE=/charts/rke2-kube-proxy.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
RUN CHART_VERSION="v1.19.7" CHART_FILE=/charts/rke2-kube-proxy.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
RUN CHART_VERSION="2.11.100" CHART_FILE=/charts/rke2-metrics-server.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh
RUN rm -vf /charts/*.sh /charts/*.md

# rke-runtime image
# This image includes any host level programs that we might need. All binaries
# must be placed in bin/ of the file image and subdirectories of bin/ will be flattened during installation.
# This means bin/foo/bar will become bin/bar when rke2 installs this to the host
FROM rancher/k3s:v1.19.5-k3s1 AS k3s
FROM rancher/k3s:v1.19.7-k3s1 AS k3s
FROM rancher/hardened-containerd:v1.4.3-k3s2 AS containerd
FROM rancher/hardened-crictl:v1.19.0 AS crictl
FROM rancher/hardened-runc:v1.0.0-rc92 AS runc
Expand Down
22 changes: 11 additions & 11 deletions developer-docs/upgrading_kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ Create a PR in [rke2-charts](https://github.com/rancher/rke2-charts) that update

The following files have references that will need to be updated in the respective locations. Replace the found version with the desired version. There are also references in documentation that should be updated and kept in sync.

* Dockerfile: `RUN CHART_VERSION="v1.19.5" CHART_FILE=/charts/rke2-kube-proxy.yaml`
* Dockerfile: `FROM rancher/k3s:v1.19.5-k3s1 AS k3s`
* images.go: `KubernetesVersion = "v1.19.5"`
* version.sh: `KUBERNETES_VERSION=${KUBERNETES_VERSION:-v1.19.5}`
* Dockerfile: `RUN CHART_VERSION="v1.19.7" CHART_FILE=/charts/rke2-kube-proxy.yaml`
* Dockerfile: `FROM rancher/k3s:v1.19.7-k3s1 AS k3s`
* images.go: `KubernetesVersion = "v1.19.7"`
* version.sh: `KUBERNETES_VERSION=${KUBERNETES_VERSION:-v1.19.7}`

Once these changes are made, submit a PR for review and let CI complete. When CI is finished and 2 approvals are had, merge the PR. CI will run for the master merge.

Expand All @@ -39,7 +39,7 @@ Next, we need to create a release candidate (RC).
* Click "Releases"
* Click "Draft new release"
* Enter the desired version into the "Tag version" box.
* Example tag: `v1.19.5-rc1+rke2r1`
* Example tag: `v1.19.7-rc1+rke2r1`

CI will run and build the release assets as well as kick off an image build for [RKE2 Upgrade images](https://hub.docker.com/r/rancher/rke2-upgrade/tags?page=1&ordering=last_updated).

Expand All @@ -50,7 +50,7 @@ Along with creating a new RKE2 release, we need to trigger a new build of the as
* Click "Releases"
* Click "Draft new release"
* Enter the desired version into the "Tag version" box.
* Example tag: `v1.19.5-rc1+rke2r1.testing.0`
* Example tag: `v1.19.7-rc1+rke2r1.testing.0`
* The first part of the tag here must match the tag created in the RKE2 repo.

When CI completes, let QA know so they can perform testing.
Expand All @@ -62,7 +62,7 @@ Once QA signs off on the RC, it's time to cut the primary release. Go to the [rk
* Click "Releases"
* Click "Draft new release"
* Enter the desired version into the "Tag version" box.
* Example tag: `v1.19.5+rke2r1`
* Example tag: `v1.19.7+rke2r1`

Leave the release as "prerelease". This will be unchecked as soon as CI completes successfully.

Expand All @@ -71,22 +71,22 @@ Once complete, the process is repeated in the [rke2-packaging](https://github.co
* Click "Releases"
* Click "Draft new release"
* Enter the desired version into the "Tag version" box.
* Example tag: `v1.19.5+rke2r1.testing.0`
* Example tag: `v1.19.7+rke2r1.testing.0`
* The first part of the tag here must match the tag created in the RKE2 repo.

Make sure that CI passes. This is for RPM availability in the testing channel.

Once complete, perform the steps above again however this time, use the tag "latest" tag. E.g. `v1.19.5+rke2r1.latest.0`.
Once complete, perform the steps above again however this time, use the tag "latest" tag. E.g. `v1.19.7+rke2r1.latest.0`.

We choose "latest" here since we want to wait at least 24 hours in case the community finds an issue. Patches will need at least 24 hours. We'll then wait up to 7 days until marking the release as "stable".

### Updating Channel Server

After all of the builds are complete and QA has signed off on the release, we need to update the channel server. This is done by editing the `channels.yaml` file at the root of the [rke2](https://github.com/rancher/rke2) repository.

* Update the line: `latest: <release>` to be the recent release. e.g. `v1.19.5+rke2r1`.
* Update the line: `latest: <release>` to be the recent release. e.g. `v1.19.7+rke2r1`.
* Verify updated in the JSON output from a call [here](https://update.rke2.io/).

### Promoting to Stable

After 24 hours, we'll promote the release to stable by updating the channel server's config as we did at above, however this time changing "latest" to "stable". We need to do the same thing for RPM's too. This involves the same steps for RPM releases but changing "latest" to "stable" in the release name. E.g. `v1.19.5+rke2r1.stable.0`.
After 24 hours, we'll promote the release to stable by updating the channel server's config as we did at above, however this time changing "latest" to "stable". We need to do the same thing for RPM's too. This involves the same steps for RPM releases but changing "latest" to "stable" in the release name. E.g. `v1.19.7+rke2r1.stable.0`.
2 changes: 1 addition & 1 deletion pkg/images/images.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const (
)

var (
KubernetesVersion = "v1.19.5" // make sure this matches what is in the scripts/version.sh script
KubernetesVersion = "v1.19.7" // make sure this matches what is in the scripts/version.sh script
PauseVersion = "3.2" // make sure this matches what is in the scripts/build-images script
EtcdVersion = "v3.4.13-k3s1" // make sure this matches what is in the scripts/build-images script
RuntimeImageName = "rke2-runtime"
Expand Down
2 changes: 1 addition & 1 deletion scripts/version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ REVISION=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code;
PLATFORM=${GOOS}-${GOARCH}
RELEASE=${PROG}.${PLATFORM}
# hardcode k8s version unless its set specifically
KUBERNETES_VERSION=${KUBERNETES_VERSION:-v1.19.5}
KUBERNETES_VERSION=${KUBERNETES_VERSION:-v1.19.7}

if [ -d .git ]; then
if [ -z "$GIT_TAG" ]; then
Expand Down