typhoon/google-cloud/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
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 Remove Terraform template provider dependency 2022-08-02 18:15:03 -07:00
ingress.tf Rename container-linux modules to flatcar-linux 2020-10-20 22:47:19 -07:00
LICENSE Rename container-linux modules to flatcar-linux 2020-10-20 22:47:19 -07: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 Bump provider ct to v0.13.0 2024-05-04 09:01:19 -07:00
workers.tf Rename container-linux modules to flatcar-linux 2020-10-20 22:47:19 -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.