-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #79 from sighupio/feat/update-calico-add-compatibi…
…lity-to-1.29 Feat: update calico add compatibility to 1.29, release v1.17.0
- Loading branch information
Showing
11 changed files
with
749 additions
and
36 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Networking Core Module Release 1.17.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 patch release updates some components and adds support to Kubernetes 1.29. | ||
|
||
## Component Images 🚢 | ||
|
||
| Component | Supported Version | Previous Version | | ||
| ----------------- | -------------------------------------------------------------------------------- | ---------------- | | ||
| `calico` | [`v3.27.3`](https://docs.tigera.io/calico/3.27/about/) | `v3.27.0` | | ||
| `cilium` | [`v1.15.2`](https://github.com/cilium/cilium/releases/tag/v1.15.2) | 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.32.7`](https://github.com/tigera/operator/releases/tag/v1.32.7) | `v1.32.3` | | ||
|
||
> Please refer the individual release notes to get detailed information on each release. | ||
## Update Guide 🦮 | ||
|
||
### Process | ||
|
||
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 - | ||
``` | ||
|
||
If you are upgrading from previous versions, please refer to the [`v1.16.0` release notes](https://github.com/sighupio/fury-kubernetes-networking/releases/tag/v1.16.0). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
#!/bin/bash | ||
# Copyright (c) 2024-present SIGHUP s.r.l All rights reserved. | ||
# Use of this source code is governed by a BSD-style | ||
# license that can be found in the LICENSE file. | ||
|
||
# shellcheck disable=SC2154 | ||
|
||
load ./../helper | ||
|
||
@test "Nodes in Not Ready state" { | ||
info | ||
nodes_not_ready() { | ||
kubectl get nodes --no-headers | awk '{print $2}' | uniq | grep -q NotReady | ||
} | ||
run nodes_not_ready | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Install Prerequisites" { | ||
info | ||
install() { | ||
kubectl apply -f 'https://raw.githubusercontent.com/sighupio/fury-kubernetes-monitoring/v3.1.0/katalog/prometheus-operator/crds/0servicemonitorCustomResourceDefinition.yaml' | ||
kubectl apply -f 'https://raw.githubusercontent.com/sighupio/fury-kubernetes-monitoring/v3.1.0/katalog/prometheus-operator/crds/0prometheusruleCustomResourceDefinition.yaml' | ||
} | ||
run install | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
# | ||
@test "Install Tigera operator and calico operated" { | ||
info | ||
test() { | ||
apply katalog/tigera/on-prem | ||
} | ||
loop_it test 60 5 | ||
status=${loop_it_result} | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Calico Kube Controller is Running" { | ||
info | ||
test() { | ||
kubectl get pods -l k8s-app=calico-kube-controllers -o json -n calico-system |jq '.items[].status.containerStatuses[].ready' | uniq | grep -q true | ||
} | ||
loop_it test 60 5 | ||
status=${loop_it_result} | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Calico Node is Running" { | ||
info | ||
test() { | ||
kubectl get pods -l k8s-app=calico-node -o json -n calico-system |jq '.items[].status.containerStatuses[].ready' | uniq | grep -q true | ||
} | ||
loop_it test 60 5 | ||
status=${loop_it_result} | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Nodes in ready State" { | ||
info | ||
test() { | ||
kubectl get nodes --no-headers | awk '{print $2}' | uniq | grep -q Ready | ||
} | ||
run test | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Apply whitelist-system-ns GlobalNetworkPolicy" { | ||
info | ||
install() { | ||
kubectl apply -f examples/globalnetworkpolicies/1.whitelist-system-namespace.yml | ||
} | ||
run install | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Create a non-whitelisted namespace with an app" { | ||
info | ||
install() { | ||
kubectl create ns test-1 | ||
kubectl apply -f katalog/tests/calico/resources/echo-server.yaml -n test-1 | ||
kubectl wait -n test-1 --for=condition=ready --timeout=120s pod -l app=echoserver | ||
} | ||
run install | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Test app within the same namespace" { | ||
info | ||
test() { | ||
kubectl create job -n test-1 isolated-test --image travelping/nettools -- curl http://echoserver.test-1.svc.cluster.local | ||
kubectl wait -n test-1 --for=condition=complete --timeout=30s job/isolated-test | ||
} | ||
run test | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Test app from a system namespace" { | ||
info | ||
test() { | ||
kubectl create job -n kube-system isolated-test --image travelping/nettools -- curl http://echoserver.test-1.svc.cluster.local | ||
kubectl wait -n kube-system --for=condition=complete --timeout=30s job/isolated-test | ||
} | ||
run test | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Test app from a different namespace" { | ||
info | ||
test() { | ||
kubectl create ns test-1-1 | ||
kubectl create job -n test-1-1 isolated-test --image travelping/nettools -- curl http://echoserver.test-1.svc.cluster.local | ||
kubectl wait -n test-1-1 --for=condition=complete --timeout=30s job/isolated-test | ||
} | ||
run test | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Apply deny-all GlobalNetworkPolicy" { | ||
info | ||
install() { | ||
kubectl apply -f examples/globalnetworkpolicies/2000.deny-all.yml | ||
} | ||
run install | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Test app from the same namespace (isolated namespace)" { | ||
info | ||
test() { | ||
kubectl create job -n test-1 isolated-test-1 --image travelping/nettools -- curl http://echoserver.test-1.svc.cluster.local | ||
kubectl wait -n test-1 --for=condition=complete --timeout=30s job/isolated-test-1 | ||
} | ||
run test | ||
[ "$status" -eq 1 ] | ||
} | ||
|
||
@test "Test app from a system namespace (isolated namespace)" { | ||
info | ||
test() { | ||
kubectl create job -n kube-system isolated-test-1 --image travelping/nettools -- curl http://echoserver.test-1.svc.cluster.local | ||
kubectl wait -n kube-system --for=condition=complete --timeout=30s job/isolated-test-1 | ||
} | ||
run test | ||
[ "$status" -eq 0 ] | ||
} | ||
|
||
@test "Test app from a different namespace (isolated namespace)" { | ||
info | ||
test() { | ||
kubectl create job -n test-1-1 isolated-test-1 --image travelping/nettools -- curl http://echoserver.test-1.svc.cluster.local | ||
kubectl wait -n test-1-1 --for=condition=complete --timeout=30s job/isolated-test-1 | ||
} | ||
run test | ||
[ "$status" -eq 1 ] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters