Skip to content

Commit

Permalink
feat: Update version skew checks to re-align with upstream Kubernetes…
Browse files Browse the repository at this point in the history
… project and EKS (#61)
  • Loading branch information
bryantbiggs authored Jun 7, 2024
1 parent 6e0b62b commit 71d72a6
Show file tree
Hide file tree
Showing 16 changed files with 126 additions and 176 deletions.
92 changes: 46 additions & 46 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 3 additions & 4 deletions docs/info/checks.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,13 @@ Table below shows the checks that are applicable, or not, to the respective Kube

The version skew between the control plane (API Server) and the data plane (kubelet) violates the Kubernetes version skew policy, or will violate the version skew policy after the control plane has been upgraded.

The data plane nodes must be upgraded to at least within 1 minor version of the control plane version in order to stay within the version skew policy through the upgrade; it is recommended to upgrade the data plane nodes to the same version as the control plane.
The data plane nodes must be upgraded to at least within 3 minor versions of the control plane version in order to stay within the version skew policy through the upgrade; it is recommended to upgrade the data plane nodes to the same version as the control plane.

**⚠️ Remediation recommended**

There is a version skew between the control plane (API Server) and the data plane (kubelet).

While Kubernetes does support a version skew of n-2 between the API Server and kubelet, it is recommended to upgrade the data plane nodes to the same version as the control plane.
While Kubernetes does support a version skew of n-3 between the API Server and kubelet, it is recommended to upgrade the data plane nodes to the same version as the control plane.

[Kubernetes version skew policy](https://kubernetes.io/releases/version-skew-policy/#supported-version-skew)

Expand Down Expand Up @@ -281,9 +281,8 @@ For clusters on Kubernetes <`v1.21`

`kube-proxy` on an Amazon EKS cluster has the same [compatibility and skew policy as Kubernetes](https://kubernetes.io/releases/version-skew-policy/#kube-proxy)

- It must be the same minor version as kubelet on your Amazon EC2 nodes
- It cannot be newer than the minor version of your cluster's control plane
- Its version on your Amazon EC2 nodes can't be more than two minor versions older than your control plane. For example, if your control plane is running Kubernetes `1.25`, then the kube-proxy minor version cannot be older than `1.23`
- Its version cannot be more than three minor versions older than your control plane (API server). For example, if your control plane is running Kubernetes `1.25`, then the kube-proxy minor version cannot be older than `1.22`

If you recently updated your cluster to a new Kubernetes minor version, then update your Amazon EC2 nodes (i.e. - `kubelet`) to the same minor version before updating `kube-proxy` to the same minor version as your nodes. The order of operations during an upgrade are as follows:

Expand Down
3 changes: 3 additions & 0 deletions eksup/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,6 @@ tokio = { version = "1.36", default-features = false, features = ["macros", "rt-
tracing = {version = "0.1", features = ["log-always"] }
tracing-log = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(tarpaulin_include)"] }
Loading

0 comments on commit 71d72a6

Please sign in to comment.