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 Cilium to v1.16.3 #3415

Merged
merged 7 commits into from
Oct 24, 2024
Merged

Update Cilium to v1.16.3 #3415

merged 7 commits into from
Oct 24, 2024

Conversation

xmudrii
Copy link
Member

@xmudrii xmudrii commented Oct 24, 2024

What this PR does / why we need it:

This PR updates Cilium to v1.16.3. This includes:

  • Changing the Cilium architecture to adhere to the latest architecture with Envoy Proxy being a dedicated DaemonSet instead of being integrated into Cilium (users can revert back to the old architecture by overriding the Cilium addon, action required release note is added to the PR)
  • Updating all components (Cilium, Hubble, CertGen) to their latest versions
  • Updating Cilium configuration to be conformant with the latest Cilium version (the list of configuration changes is available here: Update Cilium to v1.16.3 #3415 (comment))
  • Updating manifests to match the latest Helm chart
  • Ensuring all files related to Hubble are stored in hubble.yaml
  • Writing a migration for the hubble-generate-certs job

Additionally, this PR fixes a bug where we have been disabling CoreDNS instead of kube-proxy for clusters using kubeadm v1beta4 API. This bug only affects the main branch, so we don't need to cherry-pick this fix to the release branches.

Which issue(s) this PR fixes:
Closes #3347 🎉

What type of PR is this?
/kind feature

Special notes for your reviewer:

This PR has been tested manually in different scenarios and setups, we'll do more extensive testing in the testing phase.

Does this PR introduce a user-facing change? Then add your Release Note here:

[ACTION REQUIRED] Update Cilium to v1.16.3. This change might affect users that have nodes that are low on capacity (pods or resources wise). The Cilium architecture has been changed so that the Envoy Proxy is not integrated into Cilium, but is a dedicated component/DaemonSet. If you have nodes that are low on capacity, you might encounter issues when trying to start Envoy Proxy pods on those nodes. In this case, you'll need to override the Cilium addon to use the old architecture with Envoy Proxy integrated into Cilium.

Documentation:

NONE

/assign @kron4eg

Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
@xmudrii xmudrii requested a review from kron4eg October 24, 2024 13:32
@kubermatic-bot kubermatic-bot added release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. kind/feature Categorizes issue or PR as related to a new feature. docs/none Denotes a PR that doesn't need documentation (changes). dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Oct 24, 2024
@xmudrii
Copy link
Member Author

xmudrii commented Oct 24, 2024

Keys removed from the new config:

  • enable-remote-node-identity
  • skip-cnp-status-startup-clean
  • sidecar-istio-proxy-image
  • enable-bgp-control-plane
  • proxy-prometheus-port

Keys that changed value in the new config:

  • k8s-client-qps (5 -> 10)
  • k8s-client-burst (10 -> 20)
  • kube-proxy-replacement (strict / disabled -> true / false)
  • external-envoy-proxy (false -> true)

Keys that don't exist in the old config, but exist in the new config:

  • clustermesh-enable-endpoint-sync
  • proxy-idle-timeout-seconds
  • proxy-xff-num-trusted-hops-egress
  • cluster-pool-ipv6-cidr
  • bpf-events-policy-verdict-enabled
  • enable-tcx
  • k8s-require-ipv6-pod-cidr
  • bpf-lb-sock-terminate-pod-connections
  • datapath-mode
  • envoy-keep-cap-netbindservice
  • nodeport-addresses
  • enable-runtime-device-detection
  • cluster-pool-ipv6-mask-size
  • proxy-xff-num-trusted-hops-ingress
  • bpf-events-trace-enabled
  • nat-map-stats-interval
  • nat-map-stats-entries
  • dnsproxy-socket-linger-timeout
  • bpf-events-drop-enabled
  • k8s-require-ipv4-pod-cidr
  • envoy-base-id
  • direct-routing-skip-unreachable
  • enable-node-selector-labels
  • clustermesh-enable-mcs-api

Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
@kron4eg
Copy link
Member

kron4eg commented Oct 24, 2024

/lgtm
/approve

@kubermatic-bot kubermatic-bot added the lgtm Indicates that a PR is ready to be merged. label Oct 24, 2024
@kubermatic-bot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 1f4b862088cbae4a0868c61383903d6f0daccec6

@kubermatic-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kron4eg

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubermatic-bot kubermatic-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 24, 2024
@kubermatic-bot kubermatic-bot merged commit 739683f into main Oct 24, 2024
14 checks passed
@kubermatic-bot kubermatic-bot added this to the KubeOne 1.9 milestone Oct 24, 2024
@kubermatic-bot kubermatic-bot deleted the cilium-116 branch October 24, 2024 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. docs/none Denotes a PR that doesn't need documentation (changes). kind/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update images to support Kubernetes 1.31
3 participants