Release v1.6.0
Fury Distribution v1.6.0
Welcome to the Fury Distribution v1.6.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.21.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.5.0 -> v1.6.0
- Kubernetes
1.21
Tech preview. - Update Calico from version
3.17.1
to3.19.1
.
- Kubernetes
- monitoring 📦 core module: v1.11.0 -> v1.12.0
- Kubernetes
1.21
Tech preview. - Update Prometheus Operator from version
0.44.1
to0.48.1
. - Update Prometheus from version
2.22.2
to2.27.1
. - Update Grafana from version
7.3.6
to7.5.7
. - Update metrics-server from version
0.4.1
to0.5.0
. - Update Alertmanager from version
0.21.0
to0.22.2
. - Update thanos from version
0.12.2
to0.20.2
.- Fixing thanos modules, missing namespace on components
- Update kube-state-metrics from version
1.9.7
to2.0.0
.- Update all Alerts and Grafana Dashboards
- Modify the alerts that track expiration of cluster certificates to fire within 30/7 days of expiration instead
of 7/1 days. (kubeadm-k8s-rules, prometheus-k8s-rules)
- Update kube-proxy-metrics
- Update node-exporter from version
1.0.1
to1.1.2
. - Update goldpinger from version
3.0.0
to3.2.0
.
- Kubernetes
- logging 📦 core module: v1.7.0 -> v1.8.0
- Kubernetes
1.21
Tech preview. - Update Cerebro from version
0.9.3
to0.9.4
. - Update fluentd from version
1.11.5
to1.12.3
. - Update fluent-bit from version
1.6.9
to1.7.7
. - Update elasticsearch from version
7.10.1
to7.13.0
. - Update kibana from version
7.10.1
to7.13.0
.
- Kubernetes
- ingress 📦 core module: v1.9.1 -> v1.10.0
- Kubernetes
1.21
Tech preview. - Update forecastle from version
1.0.61
to1.0.61
. - Update nginx ingress controller from version
0.43.0
to0.46.0
. - Update cert-manager from version
1.1.0
to1.3.1
.
- Kubernetes
- dr 📦 core module: v1.6.0 -> v1.7.0
- OPA 📦 core module: v1.3.0 -> v1.4.0
- Kubernetes
1.21
Tech preview. - Update Gatekeeper from version
v3.2.2
tov3.4.0
.- Add a missing template (unique_service_selector_template) to the template package.
- Update Gatekeeper Policy Manager. Version
v0.4.2
.
- Kubernetes
Upgrade path
Katalog Procedure
To upgrade this distribution from v1.5.X
to v1.6.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.
Then, in order to clean up old resources:
kubectl delete clusterrolebinding cert-manager-cainjector-leaderelection cert-manager-leaderelection
kubectl delete clusterrole cert-manager-leaderelection
Terraform Procedure
It is important to read the
Disaster Recovery changelong to understand how
to move forward the terraform configuration of the Velero components.
Ensure you are running terraform 0.15.4.
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.6.0/kind-config-v1.6.0.yml | kind create cluster --config -
Creating cluster "kind" ...
✓ Ensuring node image (kindest/node:v1.19.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.6.0/fury-distribution-v1.6.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