Skip to content

1.15.0-pre.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@aanm aanm released this 04 Dec 15:10
· 8090 commits to main since this release
v1.15.0-pre.3

Summary of Changes

Major Changes:

  • Add dynamic flowlog exporters configured by yaml file (configmap) without a need of agent restart. (#28873, @marqc)
  • Add support for extending ClusterMesh to 511 clusters
    By setting the flag --max-connected-clusters=511, a new cluster will be able to connect to a ClusterMesh with up to 511 clusters. If enabled, the number of possible cluster-local identities will be reduced to 32,768. This feature can only be enabled on new clusters, and all clusters in the ClusterMesh must share the same configuration. (#27520, @thorn3r)
  • Add support for Gateway API v1.0 (#28836, @sayboras)
  • k8s: add support for k8s 1.29.0 (#29473, @aanm)

Minor Changes:

  • Add a mode where routing is delegated to another CNI plugin. This enables support for using AWS security groups when chaining Cilium on top of AWS VPC CNI. (#29111, @Alex-Waring)
  • Add lbipam support for shared ips (#28806, @usiegl00)
  • Adds "best-effort" mode for XDP to skip interfaces without driver support (#28666, @poblahblahblah)
  • Adds affinity, nodeSelector, podSecurityContext and securityContext to the SPIRE agent deployment values (#29077, @meyskens)
  • Adds the CiliumPodIPPool selector type to BGP CP AdvertisedPathAttributes to match CiliumPodIPPool custom resources. Path attributes apply to routes announced for selected CiliumPodIPPools. (#28310, @danehans)
  • api, cli: Show srv6 status in cilium status (#28700, @husnialhamdani)
  • bgpv1: Add cilium-dbg bgp route-policies command & include it in the bugtool (#28973, @rastislavs)
  • bgpv1: Use kube-system namespace by default for MD5 secret (#29478, @YutaroHayakawa)
  • bpf: use bpf_xdp_load_bytes() / bpf_xdp_store_bytes() helpers when available (#29377, @julianwiedmann)
  • Cilium DNS proxy now uses the original pod's address as the source address towards the DNS servers. (#28928, @jrajahalme)
  • cilium-dbg: Add statedb query support and commands to inspect statedb tables devices, routes and l2-announce. (#28872, @joamaki)
  • ciliumidentity resiliency improvement (#28912, @tommyp1ckles)
  • cmd/watchdogs: add health reporter to watchdog controller. (#29038, @tommyp1ckles)
  • Config option to customize the default IP Pool when using MultiPool (#28818, @chaunceyjiang)
  • Default client-go QPS and burst in agent and operator have been increased to 10 and 20 respectively for k8s versions 1.27+ (#29445, @marseel)
  • Deprecated helm options enableK8sEventHandover/enableCnpStatusUpdates were removed.
    Corresponding flag "enable-k8s-event-handover" in Agent and "cnp-status-update-interval" in operator were removed. (#29395, @marseel)
  • FQDN: transition to asynchronous IPCache APIs (#29036, @squeed)
  • gateway-api: Add support for gateway.infrastructure attribute (#29122, @sayboras)
  • gateway-api: Add supported features in GatewayClass status (#29116, @sayboras)
  • gateway-api: Check for required CRDs upon startup (#28982, @sayboras)
  • Handle IPv4 fragments in SNAT flows correctly. (#25340, @gentoo-root)
  • Hide empty columns by default in "kubectl get ciliumendpoints" output (#28744, @Iiqbal2000)
  • hubble-relay: Add support for peers joining during requests (#29326, @glrf)
  • Hubble: add option to filter for pods and services in any namespace (#28921, @glrf)
  • hubble: Add Support for filtering on HTTP headers (#28851, @ChrsMark)
  • hubble: Conditionally redact user info present in URLs in (L7) HTTP flows (#28848, @ioandr)
  • Improve Hubble Relay Kubernetes Readiness/Liveness check (#28765, @glrf)
  • init: Poll CRD synchronization times have been lowered from 1 second to 50ms. (#28954, @howardjohn)
  • Merge clustermesh-apiserver and kvstoremesh into a single image (#27888, @giorio94)
  • metric: provide way to declare labels. (#27835, @tommyp1ckles)
  • mutual-auth: Bump spire image version (#29101, @sayboras)
  • Named ports in DNS policies are now resolved correctly. (#29023, @jrajahalme)
  • pkg/datapath: Remove defunct --single-cluster-route flag (#29221, @gandro)
  • policy: Cilium will not process or enforce network policies with port ranges or Kubernetes network policies that use "EndPort". (#28704, @nathanjsweet)
  • Propagate prefixed labels from Ingress resource to LB service (#28598, @log1cb0mb)
  • Remove deprecated tunnel option, and corresponding helm values setting (#29053, @giorio94)
  • Replace etcd init script used for clustermesh with a Go equivalent.
    Upgrade etcd to v3.5.10. (#29109, @JamesLaverack)
  • Replace metricsmap-bpf-prom-sync with Prometheus Collector pattern (#27370, @carnerito)
  • Respond with ICMP reply for traffic to services without backends (#28157, @dylandreimerink)
  • show DSR-dispatch mode in cilium-dbg status (#29217, @chaunceyjiang)
  • When tunneling is enabled, a packet will be encapsulated by Cilium's tunnel netdev before encrypting with WireGuard. (#29000, @brb)

Bugfixes:

  • "envoy-admin" cluster is renamed as "/envoy-admin", requiring all references in CEC/CCEC to be updated. (#29020, @jrajahalme)
  • ImplementationSpecific Ingress paths (which for Cilium Ingress means regex path matches) are now sorted correctly in between Exact and Prefix matches. (#29381, @youngnick)
  • Avoid missed tail calls due to inserting policy programs too early during endpoint regeneration (#29307, @ti-mo)
  • bpf: Add TC_ACT_REDIRECT check for nodeport (#28927, @sayboras)
  • bpf: Fix drop of IPv6 reply traffic when 1) pod-originating connection is SNATed by iptables, and 2) Host Firewall is enabled. (#28813, @oblazek)
  • bpf: xdp: don't support GENEVE passthrough with DSR-Hybrid (#28959, @julianwiedmann)
  • Conntrack entries for Service connections are now printed in the canonical "source -> destination" format when using the "bpf ct list" command. (#28913, @julianwiedmann)
  • ctmap: consider CT entry's .dsr flag in PurgeOrphanNATEntries() (#29098, @julianwiedmann)
  • datapath: Fix ENI egress routing table for cilium_host IP (#29335, @gandro)
  • datapath: Fix primary flag in NodeAddress (#29483, @joamaki)
  • Do not skip FIB lookup when running in BPF Host Routing when Endpoint Routes enabled (#28264, @aspsk)
  • egressgateway: Use UID to identify CiliumEndpoints in epDataStore (#29124, @rastislavs)
  • egressgw: Fix the issue that an iptables SNAT rule in the host netns interferes packets to egress gw and bypass the egress GW policy (#29379, @ysksuzuki)
  • endpointmanager: fix bpf policy pressure getting stuck. (#28185, @tommyp1ckles)
  • endpointmanager: unmap ip for lookup (#29554, @tklauser)
  • Fix external workloads not working with non-default ClusterID (#29378, @giorio94)
  • Fix rendering helm operator-dashboard annotations (#29106, @Zariel)
  • Fix source identity determination for DSR with Geneve-dispatch, by looking it up from the ipcache. (#29155, @chez-shanpu)
  • Fix the Created timestamps in cilium bpf nat list that used to display the same values. (#27062, @gentoo-root)
  • Fixed label synchronization issues in Cilium, ensuring accurate representation of endpoint labels during restoration and addressing out-of-sync problems caused by label changes while the Cilium agent is down. (#29248, @aanm)
  • Fixes an L7 proxy issue by re-introducing 2005 route table. (#29530, @jschwinger233)
  • gateway-api: add watch for reference grant in TLSRoute reconciler (#29007, @mhofstetter)
  • gateway-api: Avoid redirect loop when the same host name is used for http and https listeners (#29115, @sayboras)
  • gateway: Ignore loadbalancer class for Gateway service (#29547, @sayboras)
  • Handle non-AEAD IPsec keys in cilium encrypt status. (#29182, @viktor-kurchenko)
  • ingress: cleanup resources on changed ingress class field (#28886, @mhofstetter)
  • ingress: fix foreground deletion of Ingress (#29367, @mhofstetter)
  • Install loopback CNI atomically to protect against aborted copy (#29462, @akhilles)
  • ipam: Fix bug where IP lease did not expire (#29443, @gandro)
  • iptables: remove logic to control non-existent net.ipv6.ip_early_demux (#29310, @julianwiedmann)
  • k8s ingress & gateway api: fix unintentional deletion of shared envoy cluster resource (#28896, @mhofstetter)
  • l2announcer: Leases are only created for services that are being announced. (#29446, @f1ko)
  • lbipam: Fix off-by-one error in LBIPAM range allocation (#29425, @YutaroHayakawa)
  • neigh: Install neighbor entries only on devices where routes exist (#28782, @ysksuzuki)
  • Policy revert used in rare error cases has been corrected. (#29162, @jrajahalme)
  • Replace Cilium's base image from ubuntu:22.04 with Cilium's Runtime image (also ubuntu:22.04 based). (#29340, @aanm)
  • Revert "dnsproxy: Use original source address in connections to dns servers" to fix performance regression. (#29202, @thorn3r)
  • statedb: Fix termination of string and IP keys (#29368, @joamaki)
  • When using stacked network interfaces (such as br0 -> eth0) in the egress path, ensure that BPF SNAT checks are applied on all interfaces. (#29160, @julianwiedmann)

CI Changes:

Misc Changes:

Docker Manifests

cilium

docker.io/cilium/cilium:v1.15.0-pre.3@sha256:c09d3fc906f26edbc93494cc46e6616668d7931a05470f02b9f9a266c2cfc279
quay.io/cilium/cilium:v1.15.0-pre.3@sha256:c09d3fc906f26edbc93494cc46e6616668d7931a05470f02b9f9a266c2cfc279

clustermesh-apiserver

docker.io/cilium/clustermesh-apiserver:v1.15.0-pre.3@sha256:74f30ab524a07ffb3e74e2c0d5c34f7a03f1b090f45e3f4450db3d34800ada4d
quay.io/cilium/clustermesh-apiserver:v1.15.0-pre.3@sha256:74f30ab524a07ffb3e74e2c0d5c34f7a03f1b090f45e3f4450db3d34800ada4d

docker-plugin

docker.io/cilium/docker-plugin:v1.15.0-pre.3@sha256:dee40ce43396547b8ef34b005679e207bdc9f8413ac1abdedbc6ce10a58e3ff2
quay.io/cilium/docker-plugin:v1.15.0-pre.3@sha256:dee40ce43396547b8ef34b005679e207bdc9f8413ac1abdedbc6ce10a58e3ff2

hubble-relay

docker.io/cilium/hubble-relay:v1.15.0-pre.3@sha256:95833c3375b48cf72d1c122da6ffed2f69bd7c6b76cd373f5a8455c0c527cc4b
quay.io/cilium/hubble-relay:v1.15.0-pre.3@sha256:95833c3375b48cf72d1c122da6ffed2f69bd7c6b76cd373f5a8455c0c527cc4b

operator-alibabacloud

docker.io/cilium/operator-alibabacloud:v1.15.0-pre.3@sha256:a4ad0149c6ebfa87692379cd090ee25a41621dcf98af2a910f767ef46df72a51
quay.io/cilium/operator-alibabacloud:v1.15.0-pre.3@sha256:a4ad0149c6ebfa87692379cd090ee25a41621dcf98af2a910f767ef46df72a51

operator-aws

docker.io/cilium/operator-aws:v1.15.0-pre.3@sha256:c99a09adf0be9ec82d6407ad5d8a87c635258a88292417e4feebf83fb90d36f6
quay.io/cilium/operator-aws:v1.15.0-pre.3@sha256:c99a09adf0be9ec82d6407ad5d8a87c635258a88292417e4feebf83fb90d36f6

operator-azure

docker.io/cilium/operator-azure:v1.15.0-pre.3@sha256:136d55f7ad5dbbae6c79f6a4d547f2641c590e37a80d745b9c8135fd5b8b5553
quay.io/cilium/operator-azure:v1.15.0-pre.3@sha256:136d55f7ad5dbbae6c79f6a4d547f2641c590e37a80d745b9c8135fd5b8b5553

operator-generic

docker.io/cilium/operator-generic:v1.15.0-pre.3@sha256:01959fb5e0164fbe3f265f42da4e444d9511f716ac26210fea1080c948d4583e
quay.io/cilium/operator-generic:v1.15.0-pre.3@sha256:01959fb5e0164fbe3f265f42da4e444d9511f716ac26210fea1080c948d4583e

operator

docker.io/cilium/operator:v1.15.0-pre.3@sha256:1df2ea3840ca1c012d86f8e9dd785c3f24ce319915db3e6c99150627dfdc08cb
quay.io/cilium/operator:v1.15.0-pre.3@sha256:1df2ea3840ca1c012d86f8e9dd785c3f24ce319915db3e6c99150627dfdc08cb