Skip to content

Release v1.7.0

Compare
Choose a tag to compare
@angelbarrera92 angelbarrera92 released this 15 Sep 11:58
906e91f

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 to 3.19.2.
  • monitoring 📦 core module: v1.12.3 -> v1.13.0
    • Kubernetes 1.22 Tech preview.
    • Update Prometheus Operator from version 0.48.1 to 0.50.0.
    • Update Prometheus from version 2.27.1 to 2.29.1.
    • Update Grafana from version 7.5.7 to 8.1.2.
    • Update [x509-exporter] from version 2.9.2 to 2.11.0.
    • Update thanos from version 0.20.2 to 0.22.0.
    • Update kube-proxy-metrics from version 0.10.0 to 0.11.0.
    • Update node-exporter from version 1.1.2 to 1.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.
  • logging 📦 core module: v1.8.0 -> v1.9.0
    • Kubernetes 1.22 Tech preview.
    • Update fluentd from version 1.12.3 to 1.14.0.
    • Update fluent-bit from version 1.7.7 to 1.8.2.
    • Update elasticsearch from version 7.13.0 to 7.13.3.
    • Update kibana from version 7.30.0 to 7.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
  • ingress 📦 core module: v1.10.0 -> v1.11.1
    • Kubernetes 1.22 Tech preview.
    • Fix the apiVersion of Ingress and IngressClass to v1 to support 1.22
    • Adapt new spec.backend syntax for Ingress
    • Update cert-manager CRDs as per upstream
    • Update forecastle from version 1.0.61 to 1.0.66.
    • Update nginx ingress controller from version 0.46.0 to 1.0.0.
    • Update cert-manager from version 1.3.1 to 1.5.3.
    • Update [pomerium] from version 0.14.4 to 0.15.0.
  • dr 📦 core module: v1.7.0 -> v1.8.0
    • Kubernetes 1.22 Tech preview.
    • Update Velero from version 1.6.0 to 1.6.3.
      • Upgrade velero-plugin-for-aws from 1.2.0 to 1.2.1
      • Upgrade velero-plugin-for-microsoft-azure from 1.2.0 to 1.2.1
      • Upgrade velero-plugin-for-gcp from 1.2.0 to 1.2.1
    • Adapt the CRDs to use apiextensions.k8s.io/v1 to support Kubernetes 1.22
  • OPA 📦 core module: v1.4.0 -> v1.5.0
    • Kubernetes 1.22 Tech preview.
    • Update Gatekeeper from version v3.4.0 to v3.6.0.
      • Add v1 constraint template CRD to the module.
    • Adapt the CRDs to use apiextensions.k8s.io/v1 to support Kubernetes 1.22
    • Update Gatekeeper Policy Manager. Version v0.5.0.

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