typhoon/bare-metal/flatcar-linux/kubernetes
Dalton Hubble b3c384fbc0 Introduce the component system for managing pre-installed addons
* Previously: Typhoon provisions clusters with kube-system components
like CoreDNS, kube-proxy, and a chosen CNI provider (among flannel,
Calico, or Cilium) pre-installed. This is convenient since clusters
come with "batteries included". But it also means upgrading these
components is generally done in lock-step, by upgrading to a new
Typhoon / Kubernetes release
* It can be valuable to manage these components with a separate
plan/apply process or through automations and deploy systems. For
example, this allows managing CoreDNS separately from the cluster's
lifecycle.
* These "components" will continue to be pre-installed by default,
but a new `components` variable allows them to be disabled and
managed as "addons", components you apply after cluster creation
and manage on a rolling basis. For some of these, we may provide
Terraform modules to aide in managing these components.

```
module "cluster" {
  # defaults
  components = {
    enable = true
    coredns = {
      enable = true
    }
    kube_proxy = {
      enable = true
    }
    # Only the CNI set in var.networking will be installed
    flannel = {
      enable = true
    }
    calico = {
      enable = true
    }
    cilium = {
      enable = true
    }
  }
}
```

An earlier variable `install_container_networking = true/false` has
been removed, since it can now be achieved with this more extensible
and general components mechanism by setting the chosen networking
provider enable field to false.
2024-05-19 16:33:57 -07:00
..
butane Update Kubernetes from v1.30.0 to v1.30.1 2024-05-15 21:59:00 -07:00
worker Update Kubernetes from v1.30.0 to v1.30.1 2024-05-15 21:59:00 -07:00
bootstrap.tf Introduce the component system for managing pre-installed addons 2024-05-19 16:33:57 -07:00
LICENSE Rename container-linux modules to flatcar-linux 2020-10-20 22:47:19 -07:00
outputs.tf Update outputs.tf for bare-metal/flatcar-linux to include kubeconfig output 2023-10-15 22:15:35 -07:00
profiles.tf Omit -o flag to flatcar-install unless oem_type is defined 2023-04-25 19:02:30 -07:00
README.md Update Kubernetes from v1.30.0 to v1.30.1 2024-05-15 21:59:00 -07:00
ssh.tf Restructure bare-metal module to use a worker submodule 2023-02-09 08:29:28 -08:00
variables.tf Introduce the component system for managing pre-installed addons 2024-05-19 16:33:57 -07:00
versions.tf Bump provider ct to v0.13.0 2024-05-04 09:01:19 -07:00
workers.tf Expose flatcar-install OEM parameter 2023-04-01 09:38:29 -07:00

Typhoon

Typhoon is a minimal and free Kubernetes distribution.

  • Minimal, stable base Kubernetes distribution
  • Declarative infrastructure and configuration
  • Free (freedom and cost) and privacy-respecting
  • Practical for labs, datacenters, and clouds

Typhoon distributes upstream Kubernetes, architectural conventions, and cluster addons, much like a GNU/Linux distribution provides the Linux kernel and userspace components.

Features

  • Kubernetes v1.30.1 (upstream)
  • Single or multi-master, Calico or Cilium or flannel networking
  • On-cluster etcd with TLS, RBAC-enabled, network policy
  • Advanced features like snippets customization
  • Ready for Ingress, Prometheus, Grafana, and other optional addons

Docs

Please see the official docs and the bare-metal tutorial.