typhoon/google-cloud/fedora-coreos/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
workers Update Kubernetes from v1.30.0 to v1.30.1 2024-05-15 21:59:00 -07:00
apiserver.tf Roll instance template changes to worker managed instance groups 2022-08-14 13:06:53 -07:00
bootstrap.tf Introduce the component system for managing pre-installed addons 2024-05-19 16:33:57 -07:00
controllers.tf Allow CoreDNS and kube-proxy to be optional components 2024-05-12 21:20:27 -07:00
image.tf Use Fedora CoreOS image streams on Google Cloud 2020-05-08 01:23:12 -07:00
ingress.tf Add module for Fedora CoreOS on Google Cloud 2020-02-01 15:21:40 -08:00
LICENSE Add module for Fedora CoreOS on Google Cloud 2020-02-01 15:21:40 -08:00
network.tf Add firewall and security rules for Cilium/Hubble metrics 2024-05-13 21:27:38 -07:00
outputs.tf Set kubeconfig and asset_dist as sensitive 2020-11-23 11:41:55 -08:00
README.md Update Kubernetes from v1.30.0 to v1.30.1 2024-05-15 21:59:00 -07:00
ssh.tf Workaround Terraform v1.1 file provisioner regression 2021-12-28 13:25:23 -08:00
variables.tf Introduce the component system for managing pre-installed addons 2024-05-19 16:33:57 -07:00
versions.tf Relax the provider version constraint for Google Cloud 2023-10-30 09:05:06 -07:00
workers.tf Remove os_image variable on Google Cloud Fedora CoreOS 2020-06-29 22:57:11 -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

Docs

Please see the official docs and the Google Cloud tutorial.