Release v1.7.0
Kubernetes Fury Distribution v1.7.0
Welcome to the Fury Distribution v1.7.0. In this new version, we had addressed the update of multiples
packages that belong to the distribution. All of them have been pushed to the latest stable release of each.
It includes testing (as tech preview) against Kubernetes v1.22.0
.
The team has been working to make the release upgrade as simple as possible, so read carefully the upgrade path of each
core module listed below along with the upgrade path of the distribution.
Changelog
The most important changes are listed below:
- networking 📦 core module: v1.6.0 -> v1.7.0
- Kubernetes
1.22
Tech preview. - Update Calico from version
3.19.1
to3.19.2
.
- Kubernetes
- monitoring 📦 core module: v1.12.3 -> v1.13.0
- Kubernetes
1.22
Tech preview. - Update Prometheus Operator from version
0.48.1
to0.50.0
. - Update Prometheus from version
2.27.1
to2.29.1
. - Update Grafana from version
7.5.7
to8.1.2
. - Update [x509-exporter] from version
2.9.2
to2.11.0
. - Update thanos from version
0.20.2
to0.22.0
. - Update kube-proxy-metrics from version
0.10.0
to0.11.0
. - Update node-exporter from version
1.1.2
to1.2.2
. - Add
oauth2
field to prometheus CRDs to allow authentication with oauth2 - Add
podDisruptionBudget
to alertmanager and prometheus. - Add alertmanager dashboard.
- Fix dashboards to work with the latest grafana synching with kube-prometheus.
- Updates to verious prometheus monitoring rules synching with kube-prometheus.
- Remove
CPUThrottlingHigh
.
- Kubernetes
- logging 📦 core module: v1.8.0 -> v1.9.0
- Kubernetes
1.22
Tech preview. - Update fluentd from version
1.12.3
to1.14.0
. - Update fluent-bit from version
1.7.7
to1.8.2
. - Update elasticsearch from version
7.13.0
to7.13.3
. - Update kibana from version
7.30.0
to7.13.3
. - Change Kibana rolling strategy to recreate and remove kibana cpu limits
- Add startupProbe that creates index-patterns, reverting readinessProbe to the previous version
- Kubernetes
- ingress 📦 core module: v1.10.0 -> v1.11.1
- Kubernetes
1.22
Tech preview. - Fix the apiVersion of
Ingress
andIngressClass
to v1 to support 1.22 - Adapt new
spec.backend
syntax forIngress
- Update cert-manager CRDs as per upstream
- Update forecastle from version
1.0.61
to1.0.66
. - Update nginx ingress controller from version
0.46.0
to1.0.0
. - Update cert-manager from version
1.3.1
to1.5.3
. - Update [pomerium] from version
0.14.4
to0.15.0
.
- Kubernetes
- dr 📦 core module: v1.7.0 -> v1.8.0
- Kubernetes
1.22
Tech preview. - Update Velero from version
1.6.0
to1.6.3
.- Upgrade velero-plugin-for-aws from
1.2.0
to1.2.1
- Upgrade velero-plugin-for-microsoft-azure from
1.2.0
to1.2.1
- Upgrade velero-plugin-for-gcp from
1.2.0
to1.2.1
- Upgrade velero-plugin-for-aws from
- Adapt the CRDs to use
apiextensions.k8s.io/v1
to support Kubernetes 1.22
- Kubernetes
- OPA 📦 core module: v1.4.0 -> v1.5.0
- Kubernetes
1.22
Tech preview. - Update Gatekeeper from version
v3.4.0
tov3.6.0
.- Add
v1
constraint template CRD to the module.
- Add
- Adapt the CRDs to use
apiextensions.k8s.io/v1
to support Kubernetes 1.22 - Update Gatekeeper Policy Manager. Version
v0.5.0
.
- Kubernetes
Upgrade path
Katalog Procedure
To upgrade this distribution from v1.6.0
to v1.7.0
, you need to download this new version, vendor the dependencies,
finally applying the kustomize
project.
furyctl vendor -H
kustomize build . | kubectl apply -f -
NOTE: The upgrade takes some minutes (depends on the cluster size), and you should expect some downtime during
the upgrade process.
Terraform Procedure
Test it
If you want to test the distribution in a test environment, spin up a
kind
cluster, then deploy all rendered manifests.
$ kind version
kind v0.11.0 go1.16.4 darwin/amd64
$ curl -Ls https://github.com/sighupio/fury-distribution/releases/download/v1.7.0/katalog/tests/kind-config-v1.7.0 | kind create cluster --config -
Creating cluster "kind" ...
✓ Ensuring node image (kindest/node:v1.20.1) 🖼
✓ Preparing nodes 📦 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing StorageClass 💾
✓ Joining worker nodes 🚜
Set kubectl context to "kind-kind"
You can now use your cluster with:
kubectl cluster-info --context kind-kind
Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂
$ kubectl apply -f https://github.com/sighupio/fury-distribution/releases/download/v1.7.0/fury-distribution-v1.7.0.yml
namespace/cert-manager created
namespace/gatekeeper-system created
namespace/ingress-nginx created
namespace/logging created
namespace/monitoring created
customresourcedefinition.apiextensions.k8s.io/alertmanagers.monitoring.coreos.com created
customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org created
<TRUNCATED OUTPUT>
NOTE: Run
kubectl apply
multiple times until you see no errors in the console