Skip to content

Release v1.16.0 #78

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

Merged
merged 47 commits into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
f8832b7
feat: update preflight checks
ettoreciarcia Feb 9, 2024
01a3b43
docs: add partials docs for v1.16.0
ettoreciarcia Feb 9, 2024
c96fc6e
feat: update cilium image from v1.14.3 to v.1.15.0
ettoreciarcia Feb 9, 2024
238ec2a
feat: update core deploy value according to v1.15.0 version
ettoreciarcia Feb 9, 2024
73e96f0
feat(ci): dropped support for kubernetes 1.25
ettoreciarcia Feb 9, 2024
974a6d2
feat(ci): add support for kubernetes 1.28
ettoreciarcia Feb 9, 2024
c0795ef
feat: update calico version to v3.27.0
ettoreciarcia Feb 9, 2024
6b324f4
docs: update calico version in docs to 3.27.0
ettoreciarcia Feb 9, 2024
ee9aedd
docs: udpate calico version to 3.27.0 in katalog docs
ettoreciarcia Feb 9, 2024
a95a1e2
feat(ci): drop support for kubernetes 1.25
ettoreciarcia Feb 9, 2024
c39568c
feat(ci): add support for kubernetes 1.28 (calico)
ettoreciarcia Feb 9, 2024
2d722ab
fix(ci): fix dependencies in pipeline
ettoreciarcia Feb 9, 2024
925a71a
feat: update tigera operator version to v3.27.0
ettoreciarcia Feb 12, 2024
f6ccc99
docs: updated compatibility matrix for Kubernetes 1.28
ettoreciarcia Feb 12, 2024
544bad7
docs: updated component images
ettoreciarcia Feb 12, 2024
a1394cd
fix: removed whitespaces in compatibility matrix
ettoreciarcia Feb 12, 2024
417b3f4
fix: pin calico version 3.27.0 in mainteneance.md
ettoreciarcia Feb 13, 2024
4768776
fix: update kubernetes version for test to 1.26
ettoreciarcia Feb 13, 2024
6fa3c40
chore(docs): udpated tiegra operator version
ettoreciarcia Feb 13, 2024
836c673
chore(docs): update link for new version
ettoreciarcia Feb 13, 2024
054c831
chore(docs): update referece to old version
ettoreciarcia Feb 13, 2024
23537b6
chore(docs): update version in installation example to v.1.16.0
ettoreciarcia Feb 13, 2024
b764d34
fix: remove pinned version for calico in vendor
ettoreciarcia Feb 21, 2024
cd9db96
feat: add calico image oveeride in examples
ettoreciarcia Feb 21, 2024
21bfae2
feat(ci): use kind clusters in drone runner
mimnix Mar 1, 2024
2e6bb7a
fix(ci): extra yaml separator
mimnix Mar 1, 2024
8b22193
fix(ci): shorten kind cluster names
mimnix Mar 1, 2024
2171b2e
fix(ci): one by one parallel execution for calico and cilium e2e tests
mimnix Mar 1, 2024
86e736f
chore(ci): remove unnecessary pipeline dependencies
mimnix Mar 1, 2024
04a5c37
fix(ci): kind config for calico 1.26
mimnix Mar 1, 2024
4a94b03
fix(ci): revert kind config change for e2e 1.26 calico
mimnix Mar 1, 2024
252d230
chore(ci): pipeline changed to use the default drone worker
mimnix Mar 1, 2024
0efa111
hotfix: bump cilium to v1.15.2 and hubble to v1.13.0
nutellinoit Mar 15, 2024
22a83be
hotfix: remove duplicated servicemonitor
nutellinoit Mar 15, 2024
e158a97
docs: add cilium maintenance helm details
nutellinoit Mar 15, 2024
5072da5
docs: rollback uneccessary changes
nutellinoit Mar 15, 2024
07c039c
docs: fix 1.15 and 1.16 release note
nutellinoit Mar 15, 2024
80f39d3
feat: update main README
nutellinoit Mar 15, 2024
19537b2
docs: improve release notes
nutellinoit Mar 15, 2024
b770a9d
fix: missing image patch on calico
nutellinoit Mar 15, 2024
0e89522
docs(release): fix outdated calico documentation link
mimnix Mar 25, 2024
487ad7c
feat: update MAINTENANCE.values.yaml
nutellinoit Mar 27, 2024
3d43ad3
docs: fix previous version on release notes
nutellinoit Mar 27, 2024
4e8351f
feat: update preflight task with correct version
nutellinoit Mar 27, 2024
9183ce9
docs: bump version badge
nutellinoit Mar 27, 2024
f10d03a
feat: add at least two nodes on cilium kind cluster
nutellinoit Mar 27, 2024
666283a
Merge pull request #77 from sighupio/feat/upgrade-cilium-v1.15.0
nutellinoit Mar 27, 2024
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
764 changes: 339 additions & 425 deletions .drone.yml

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
</h1>
<!-- markdownlint-enable MD033 -->

![Release](https://img.shields.io/badge/Latest%20Release-v1.14.0-blue)
![Release](https://img.shields.io/badge/Latest%20Release-v1.15.2-blue)
![License](https://img.shields.io/github/license/sighupio/fury-kubernetes-networking?label=License)
![Slack](https://img.shields.io/badge/slack-@kubernetes/fury-yellow.svg?logo=slack&label=Slack)

Expand All @@ -29,9 +29,9 @@ Kubernetes Fury Networking provides the following packages:

| Package | Version | Description |
| -------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| [calico](katalog/calico) | `3.26.3` | [Calico][calico-page] CNI Plugin. For cluster with `< 50` nodes. |
| [cilium](katalog/cilium) | `1.14.3` | [Cilium][cilium-page] CNI Plugin. For cluster with `< 200` nodes. |
| [tigera](katalog/tigera) | `1.30.7` | [Tigera Operator][tigera-page], a Kubernetes Operator for Calico, provides pre-configured installations for on-prem and for EKS in policy-only mode. |
| [calico](katalog/calico) | `3.27.0` | [Calico][calico-page] CNI Plugin. For cluster with `< 50` nodes. |
| [cilium](katalog/cilium) | `1.15.2` | [Cilium][cilium-page] CNI Plugin. For cluster with `< 200` nodes. |
| [tigera](katalog/tigera) | `1.32.3` | [Tigera Operator][tigera-page], a Kubernetes Operator for Calico, provides pre-configured installations for on-prem and for EKS in policy-only mode. |
| [ip-masq](katalog/ip-masq) | `2.8.0` | The `ip-masq-agent` configures iptables rules to implement IP masquerading functionality |

> The resources in these packages are going to be deployed in `kube-system` namespace. Except for the operator.
Expand All @@ -42,9 +42,9 @@ Click on each package to see its full documentation.

| Kubernetes Version | Compatibility | Notes |
| ------------------ | :----------------: | --------------- |
| `1.25.x` | :white_check_mark: | No known issues |
| `1.26.x` | :white_check_mark: | No known issues |
| `1.27.x` | :white_check_mark: | No known issues |
| `1.28.x` | :white_check_mark: | No known issues |


Check the [compatibility matrix][compatibility-matrix] for additional information on previous releases of the module.
Expand All @@ -67,7 +67,7 @@ Check the [compatibility matrix][compatibility-matrix] for additional informatio
```yaml
bases:
- name: networking
version: "v1.15.0"
version: "v1.16.0"
```

> See `furyctl` [documentation][furyctl-repo] for additional details about `Furyfile.yml` format.
Expand Down
19 changes: 10 additions & 9 deletions docs/COMPATIBILITY_MATRIX.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# Compatibility Matrix

| Module Version / Kubernetes Version | 1.24.X | 1.25.X | 1.26.X | 1.27.X |
| ----------------------------------- | ------------------ | ------------------ | ------------------ | ------------------ |
| v1.10.0 | :white_check_mark: | | | |
| v1.11.0 | :white_check_mark: | :white_check_mark: | | |
| v1.12.0 | :white_check_mark: | :white_check_mark: | | |
| v1.12.1 | :white_check_mark: | :white_check_mark: | | |
| v1.12.2 | :white_check_mark: | :white_check_mark: | | |
| v1.14.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| v1.15.0 | | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Module Version / Kubernetes Version | 1.24.X | 1.25.X | 1.26.X | 1.27.X | 1.28.X |
| ----------------------------------- | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| v1.10.0 | :white_check_mark: | | | | |
| v1.11.0 | :white_check_mark: | :white_check_mark: | | | |
| v1.12.0 | :white_check_mark: | :white_check_mark: | | | |
| v1.12.1 | :white_check_mark: | :white_check_mark: | | | |
| v1.12.2 | :white_check_mark: | :white_check_mark: | | | |
| v1.14.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | |
| v1.15.0 | | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| v1.16.0 | | | :white_check_mark: | :white_check_mark: | :white_check_mark: |


:white_check_mark: Compatible
Expand Down
2 changes: 1 addition & 1 deletion docs/releases/v1.15.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This minor release updates some components and adds support to Kubernetes 1.27.
| ----------------- | -------------------------------------------------------------------------------- | ---------------- |
| `calico` | [`v3.26.3`](https://projectcalico.docs.tigera.io/archive/v3.26/release-notes/) | `v3.26.1` |
| `cilium` | [`v1.14.3`](https://github.com/cilium/cilium/releases/tag/v1.14.3) | `v1.13.1` |
| `ip-masq` | [`v2.8.0`](https://github.com/kubernetes-sigs/ip-masq-agent/releases/tag/v2.5.0) | No update |
| `ip-masq` | [`v2.8.0`](https://github.com/kubernetes-sigs/ip-masq-agent/releases/tag/v2.8.0) | No update |
| `tigera-operator` | [`v1.30.7`](https://github.com/tigera/operator/releases/tag/v1.30.7) | `v1.30.4` |

> Please refer the individual release notes to get detailed information on each release.
Expand Down
64 changes: 64 additions & 0 deletions docs/releases/v1.16.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Networking Core Module Release 1.16.0

Welcome to the latest release of the `Networking` module of [`Kubernetes Fury Distribution`](https://github.com/sighupio/fury-distribution) maintained by team SIGHUP.

This minor release updates some components and adds support to Kubernetes 1.28.

## Component Images 🚢

| Component | Supported Version | Previous Version |
| ----------------- | -------------------------------------------------------------------------------- | ---------------- |
| `calico` | [`v3.27.0`](https://docs.tigera.io/calico/3.27/about/) | `v3.26.3` |
| `cilium` | [`v1.15.2`](https://github.com/cilium/cilium/releases/tag/v1.15.2) | `v1.14.3` |
| `ip-masq` | [`v2.8.0`](https://github.com/kubernetes-sigs/ip-masq-agent/releases/tag/v2.8.0) | No update |
| `tigera-operator` | [`v1.32.3`](https://github.com/tigera/operator/releases/tag/v1.32.3) | `v1.30.7` |

> Please refer the individual release notes to get detailed information on each release.

## Update Guide 🦮

### Process

If you are using Cilium, read the steps [below](#cilium-upgrade) before proceeding.

1. Just deploy as usual:

```bash
kustomize build katalog/calico | kubectl apply -f -
# OR
kustomize build katalog/tigera/on-prem | kubectl apply -f -
# OR
kustomize build katalog/cilium | kubectl apply -f -
```

#### Cilium upgrade
Cilium suggested path expect a pre-flight check to be run before any upgrade.

1. Create the resources for the check
```bash
kubectl create -f katalog/cilium/tasks/preflight.yaml
```

2. Ensure that the number of READY pods is the same number of Cilium pods running.
```text
kubectl get daemonset -n kube-system | sed -n '1p;/cilium/p'
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
cilium 2 2 2 2 2 <none> 1h20m
cilium-pre-flight-check 2 2 2 2 2 <none> 7m15s
```

3. Once the number of READY pods is equal, make sure the Cilium pre-flight deployment is also marked as READY 1/1.
If it shows READY 0/1, consult the [CNP Validation](https://docs.cilium.io/en/stable/operations/upgrade/#cnp-validation) section in the official docs and resolve issues with the deployment before continuing with the upgrade.
```text
kubectl get deployment -n kube-system cilium-pre-flight-check -w
NAME READY UP-TO-DATE AVAILABLE AGE
cilium-pre-flight-check 1/1 1 0 12s
```

4. Once the number of READY for the preflight DaemonSet is the same as the number of cilium pods running and the preflight Deployment is marked as READY 1/1 you can delete the cilium-preflight and proceed with the upgrade.
```bash
kubectl delete -f cilium-preflight.yaml
```


If you are upgrading from previous versions, please refer to the [`v1.15.0` release notes](https://github.com/sighupio/fury-kubernetes-networking/releases/tag/v1.15.0).
2 changes: 2 additions & 0 deletions examples/registry-override/calico/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ images:
newName: calico/pod2daemon-flexvol
- name: registry.sighup.io/fury/calico/node
newName: calico/node


6 changes: 3 additions & 3 deletions katalog/calico/MAINTENANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ To update the Calico package with upstream, please follow the next steps:
1. Download upstream manifests:

```bash
export CALICO_VERSION=3.26.1
export CALICO_VERSION=3.27.0
curl -L https://raw.githubusercontent.com/projectcalico/calico/v${CALICO_VERSION}/manifests/calico.yaml -o calico-${CALICO_VERSION}.yaml
```

Expand All @@ -20,7 +20,7 @@ Compare the `deploy.yaml` file with the downloaded `calico-${CALICO_VERSION}` fi
3. Update the `kustomization.yaml` file with the right image versions.

```bash
export CALICO_IMAGE_TAG=v3.26.3
export CALICO_IMAGE_TAG=v3.27.0
kustomize edit set image docker.io/calico/kube-controllers=registry.sighup.io/fury/calico/kube-controllers:${CALICO_IMAGE_TAG}
kustomize edit set image docker.io/calico/cni=registry.sighup.io/fury/calico/cni:${CALICO_IMAGE_TAG}
kustomize edit set image docker.io/calico/node=registry.sighup.io/fury/calico/node:${CALICO_IMAGE_TAG}
Expand All @@ -39,7 +39,7 @@ See <https://docs.tigera.io/calico/latest/operations/monitor/monitor-component-m
1. Download the dashboard from upstream:

```bash
export CALICO_VERSION=3.26.3
export CALICO_VERSION=3.27.0
# ⚠️ Assuming $PWD == root of the project
# We take the `felix-dashboard.json` from the downloaded yaml, we are not deploying `typha`, so we don't need its dashboard.
curl -L https://raw.githubusercontent.com/projectcalico/calico/v${CALICO_VERSION}/manifests/grafana-dashboards.yaml | yq '.data["felix-dashboard.json"]' | sed 's/calico-demo-prometheus/prometheus/g' | jq > ./monitoring/dashboards/felix-dashboard.json
Expand Down
8 changes: 4 additions & 4 deletions katalog/calico/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,17 @@ The deployment of Calico consists of a daemon set running on every node (includi
## Image repository and tag

- calico images:
- `calico/kube-controllers:v3.26.3`.
- `calico/cni:v3.26.3`.
- `calico/node:v3.26.3`.
- `calico/kube-controllers:v3.27.0`.
- `calico/cni:v3.27.0`.
- `calico/node:v3.27.0`.
- calico repositories:
- [https://github.com/projectcalico/kube-controllers](https://github.com/projectcalico/calico/tree/master/kube-controllers).
- [https://github.com/projectcalico/cni-plugin](https://github.com/projectcalico/calico/tree/master/cni-plugin).
- [https://github.com/projectcalico/node](https://github.com/projectcalico/calico/tree/master/node).

## Requirements

- Tested with Kubernetes >= `1.25.X`.
- Tested with Kubernetes >= `1.26.X`.
- Tested with Kustomize >= `v3.5.3`.
- Prometheus Operator, optional if you want to have metrics.

Expand Down
10 changes: 5 additions & 5 deletions katalog/calico/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4643,7 +4643,7 @@ spec:
# It can be deleted if this is a fresh installation, or if you have already
# upgraded to use calico-ipam.
- name: upgrade-ipam
image: docker.io/calico/cni:v3.26.3
image: docker.io/calico/cni:v3.27.0
imagePullPolicy: IfNotPresent
command: ["/opt/cni/bin/calico-ipam", "-upgrade"]
envFrom:
Expand Down Expand Up @@ -4671,7 +4671,7 @@ spec:
# This container installs the CNI binaries
# and CNI network config file on each node.
- name: install-cni
image: docker.io/calico/cni:v3.26.3
image: docker.io/calico/cni:v3.27.0
imagePullPolicy: IfNotPresent
command: ["/opt/cni/bin/install"]
envFrom:
Expand Down Expand Up @@ -4714,7 +4714,7 @@ spec:
# i.e. bpf at /sys/fs/bpf and cgroup2 at /run/calico/cgroup. Calico-node initialisation is executed
# in best effort fashion, i.e. no failure for errors, to not disrupt pod creation in iptable mode.
- name: "mount-bpffs"
image: docker.io/calico/node:v3.26.3
image: docker.io/calico/node:v3.27.0
imagePullPolicy: IfNotPresent
command: ["calico-node", "-init", "-best-effort"]
volumeMounts:
Expand All @@ -4740,7 +4740,7 @@ spec:
# container programs network policy and routes on each
# host.
- name: calico-node
image: docker.io/calico/node:v3.26.3
image: docker.io/calico/node:v3.27.0
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
Expand Down Expand Up @@ -4957,7 +4957,7 @@ spec:
priorityClassName: system-cluster-critical
containers:
- name: calico-kube-controllers
image: docker.io/calico/kube-controllers:v3.26.3
image: docker.io/calico/kube-controllers:v3.27.0
imagePullPolicy: IfNotPresent
env:
# Choose which controllers to run.
Expand Down
6 changes: 3 additions & 3 deletions katalog/calico/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ namespace: kube-system
images:
- name: docker.io/calico/cni
newName: registry.sighup.io/fury/calico/cni
newTag: v3.26.3
newTag: v3.27.0
- name: docker.io/calico/kube-controllers
newName: registry.sighup.io/fury/calico/kube-controllers
newTag: v3.26.3
newTag: v3.27.0
- name: docker.io/calico/node
newName: registry.sighup.io/fury/calico/node
newTag: v3.26.3
newTag: v3.27.0

# Resources needed for Monitoring
resources:
Expand Down
5 changes: 4 additions & 1 deletion katalog/cilium/MAINTENANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ To update the Cilium package with upstream, please follow the next steps.
Download the upstream manifests:

```bash
helm pull cilium/cilium --version 1.13.3 --untar --untardir /tmp
helm repo add cilium https://helm.cilium.io/
helm repo update
helm search repo cilium/cilium
helm pull cilium/cilium --version 1.15.2 --untar --untardir /tmp
```

Change the tag for the images on the file `MAINTENANCE.values.yaml`, check the new one on `/tmp/cilium/values.yaml
Expand Down
17 changes: 7 additions & 10 deletions katalog/cilium/MAINTENANCE.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
image:
override: ~
repository: "registry.sighup.io/fury/cilium/cilium"
tag: "v1.14.3"
tag: "v1.15.2"
useDigest: false

# -- Affinity for cilium-agent.
Expand Down Expand Up @@ -76,7 +76,7 @@ hubble:
image:
override: ~
repository: "registry.sighup.io/fury/cilium/hubble-relay"
tag: "v1.14.3"
tag: "v1.15.2"

useDigest: false
pullPolicy: "IfNotPresent"
Expand Down Expand Up @@ -120,8 +120,9 @@ hubble:
image:
override: ~
repository: "registry.sighup.io/fury/cilium/hubble-ui-backend"
tag: "v0.12.1"
tag: "v0.13.0"

useDigest: false
pullPolicy: "IfNotPresent"

resources: {}
Expand All @@ -137,7 +138,8 @@ hubble:
image:
override: ~
repository: "registry.sighup.io/fury/cilium/hubble-ui"
tag: "v0.12.1"
tag: "v0.13.0"
useDigest: false
pullPolicy: "IfNotPresent"

# -- Resource requests and limits for the 'frontend' container of the 'hubble-ui' deployment.
Expand All @@ -163,11 +165,6 @@ identityAllocationMode: "crd"
# @default -- `"5s"`
identityChangeGracePeriod: ""

# -- Configure whether to install iptables rules to allow for TPROXY
# (L7 proxy injection), iptables-based masquerading and compatibility
# with kube-proxy.
installIptablesRules: true

# -- Install Iptables rules to skip netfilter connection tracking on all pod
# traffic. This option is only effective when Cilium is running in direct
# routing and full KPR mode. Moreover, this option cannot be enabled when Cilium
Expand Down Expand Up @@ -262,7 +259,7 @@ operator:
image:
override: ~
repository: "registry.sighup.io/fury/cilium/operator"
tag: "v1.14.3"
tag: "v1.15.2"

useDigest: false
pullPolicy: "IfNotPresent"
Expand Down
Loading