Changes in MetalK8s

Release 1.2.0 (in development)

This version updates the Kubernetes version to 1.12.3 to handle CVE-2018-100210.

Features added

PR #462 - update vendored Kubespray version

Note

This includes an upgrade to Kubernetes 1.12.

PR #498 - add timeout option to helm_cli Ansible custom module (#497)

PR #499 - use helm_cli to install prometheus (#496)

Bugs Fixed

PR #517 - update Kubernetes version to 1.12.3 to include a fix for CVE-2018-100210

Release 1.1.0 (in development)

This version updates the Kubernetes version to 1.11.5 to handle CVE-2018-100210.

Features added

PR #346 - add Elasticsearch external values capability (#340)

PR #222 - update Elasticsearch and node_exporter dashboards

PR #225 - Figure out the “fail fast” option of ansible (#129)

PR #280 - add an Ansible module to handle Helm chart installation (#190)

PR #309 - introduce variables to control helm behaviour. New ‘wait’ option

PR #291 - add external values for nginx_ingress

PR #327 - support ‘external values’ in kube_heapster and kube_metrics_server

PR #373 - update third-party chart versions and use the RollingUpdate deployment strategy for Elasticsearch data and master daemons

PR #403 - update vendored Kubespray version

Note

This includes an upgrade to Kubernetes 1.11.

PR #417 - update Python package versions

PR #457 - update vendored Kubespray version

PR #429 - Set proxy variable directly in /etc/environment

Bugs Fixed

#224 - variabilize the Kibana index pattern and service name in the index provisioning job (PR #233).

PR #251 - tag Grafana dashboards (#208)

PR #478 - metrics-server: ensure that missing pod/node data doesn’t invalidate an entire node’s results

PR #514 - update Kubernetes version to 1.11.5 to include a fix for CVE-2018-100210

Release 1.0.2 (in development)

Bugs fixed

#962 - Versionlocks docker & node_exporter packages

Release 1.0.1

This version updates the Kubernetes version to 1.10.11 to handle CVE-2018-100210.

Features added

PR #232 - Add more storage checks regarding the device presence and the partition existence on specificied drives (#231)

PR #240 - update Python cryptography package to 2.3

PR #274 - add support for Python 3.7

PR #305 - ensure that journald logs are persisted across reboots (#303)

PR #337 - assert ansible_user is not root (#329)

Bugs fixed

#50 - raise default etcd memory limits (PR #331)

#237 - increase timeout of prometheus-operator deployment (PR #244)

#321 - retry until PV creation succeeds in reclaim-storage playbook (PR #319)

#381 - warn when Bash completion is not available in make shell (PR #382)

#192 - make shell failing to start on OS X (PR #418)

#424 - remove warning related to kube_nginx_ingress roles (PR #425)

#399 - check that the hostnames in the inventory don’t use capitals (PR #409)

PR #472 - update Python requests library version

PR #511 - update Kubernetes version to 1.10.11 to include a fix for CVE-2018-100210

PR #523 - reduce Tiller wait timeout to reduce CI time to failure

Release 1.0.0

This marks the first production-ready release of MetalK8s. Deployments using this release can be upgraded to later MetalK8s 1.x versions.

Breaking changes

PR #187 - no longer remove the MetalK8s 0.1.x Elasticsearch cluster upon upgrade (#160)

Features added

PR #191 - deploy PodDisruptionBudgets for Elasticsearch (#157)

PR #193 - update versions of kube-prometheus, Elasticsearch and Kubespray

PR #181 - format PersistentVolumes asynchronously (#173)

PR #201 - collect Calico metrics and deploy Grafana dashboards for them (#81)

PR #210 - deploy metrics-server using Helm (#146)

PR #189, PR #215 - collect nginx-ingress metrics and deploy a dashboard (#143)

PR #218 - update versions of Kibana and fluent-bit

PR #223 - pre-provision Kibana index configuration (#174)

Bugs fixed

#170 - rename ElasticSearch Example and Node Exporter Full Grafana dashboards (PR #188)

#196 - deploy the Elasticsearch Curator configuration we want to deploy instead of falling back to the chart default (PR #197)

#220 - ‘Kubernetes Calico (Alternative)’ dashboard doesn’t work (PR #221)

Known issues

#179 - some Grafana dashboard charts are not displaying any metrics

Release 0.2.0

Note

Compatibility with future releases of MetalK8s is not guaranteed until version 1.0.0 is available. When deploying a cluster using pre-1.0 versions of this package, you may need to redeploy later.

Breaking changes

PR #159 - use upstream chart for Elasticsearch. Historical log data will be lost. Please see the pull-request description for manual steps required after upgrading a MetalK8s 0.1 cluster to MetalK8s 0.2 (#147)

PR #94 - flatten the storage configuration and allow more user defined storage related actions (#153)

Features added

PR #144 - update Kibana chart version

PR #145 - update the Cerebro chart, and pre-configure the MetalK8s Elasticsearch cluster

PR #154 - rework log collection architecture, now using Fluent Bit to capture logs, then forward to fluentd to aggregate them and batch-insert in Elasticsearch (#51)

PR #163 - update versions of Elasticsearch Exporter, nginx-ingress, kube-prometheus and Kubespray

Bugs fixed

PR #151 - fix debug clause var scoping

#150 - fix deployment of Elasticsearch, node and Prometheus Grafana dashboards (PR #158)

#139 - stabilize helm init (PR #167)

Known issues

#179 - some Grafana dashboard charts are not displaying any metrics

Release 0.1.1

Note

Compatibility with future releases of MetalK8s is not guaranteed until version 1.0.0 is available. When deploying a cluster using pre-1.0 versions of this package, you may need to redeploy later.

Features added

PR #11 - run the OpenStack ansible-hardening role on nodes to apply security hardening configurations from the Security Technical Implementation Guide (STIG) (#88)

PR #127 - deploy Cerebro to manage the Elasticsearch cluster (#126)

PR #138 - update versions of Fluentd, Kibana, Elasticsearch Exporter and Kubespray

PR #140 - set up kube-prometheus to monitor CoreDNS (cfr. PR #104)

Bugs fixed

#103 - set up host anti-affinity for Elasticsearch service scheduling (PR #113)

#120 - required facts not gathered when running the services playbook in isolation (PR #132)

PR #134 - fix bash-completion in the MetalK8s Docker image

Release 0.1.0

This marks the first release of MetalK8s.

Note

Compatibility with future releases of MetalK8s is not guaranteed until version 1.0.0 is available. When deploying a cluster using pre-1.0 versions of this package, you may need to redeploy later.

Incompatible changes

PR #106 - the Ansible playbook which used to be called metal-k8s.yml has been moved to playbooks/deploy.yml

Features added

PR #100 - disable Elasticsearch deployment by setting metalk8s_elasticsearch_enabled to false (#98)

PR #104 - kube-proxy now uses ipvs instead of iptables to route Service addresses, in preparation for Kubernetes 1.11. The ipvsadm tool is installed on all k8s-cluster hosts.

PR #104 - use CoreDNS instead of kubedns for in-cluster DNS services, in preparation for Kubernetes 1.11.

PR #113 - deploy the Prometheus node_exporter on k8s-cluster and etcd hosts instead of using a DaemonSet

Known issues

#62 - Elasticsearch Curator may not properly prune old logstash-* indices