Update Butane Config from v1.2.0 to v1.4.0
* Rename Fedora CoreOS Config (FCC) to Butane Config * Require any snippets customizations use version v1.4.0 * https://typhoon.psdn.io/advanced/customization/#hosts
This commit is contained in:
parent
810236f6df
commit
b603bbde3d
|
@ -4,6 +4,13 @@ Notable changes between versions.
|
||||||
|
|
||||||
## Latest
|
## Latest
|
||||||
|
|
||||||
|
|
||||||
|
### Fedora CoreOS
|
||||||
|
|
||||||
|
* Update Butane Config version from v1.2.0 to v1.4.0
|
||||||
|
* Rename Fedora CoreOS Config to Butane Config
|
||||||
|
* Require any [snippets](https://typhoon.psdn.io/advanced/customization/#hosts) customizations to update to v1.4.0
|
||||||
|
|
||||||
## v1.21.3
|
## v1.21.3
|
||||||
|
|
||||||
* Kubernetes [v1.21.3](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md#v1213)
|
* Kubernetes [v1.21.3](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md#v1213)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: etcd-member.service
|
- name: etcd-member.service
|
||||||
|
|
|
@ -84,13 +84,13 @@ variable "worker_target_groups" {
|
||||||
|
|
||||||
variable "controller_snippets" {
|
variable "controller_snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Controller Fedora CoreOS Config snippets"
|
description = "Controller Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "worker_snippets" {
|
variable "worker_snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Worker Fedora CoreOS Config snippets"
|
description = "Worker Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: docker.service
|
- name: docker.service
|
||||||
|
|
|
@ -77,7 +77,7 @@ variable "target_groups" {
|
||||||
|
|
||||||
variable "snippets" {
|
variable "snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Fedora CoreOS Config snippets"
|
description = "Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: etcd-member.service
|
- name: etcd-member.service
|
||||||
|
|
|
@ -65,13 +65,13 @@ variable "worker_priority" {
|
||||||
|
|
||||||
variable "controller_snippets" {
|
variable "controller_snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Controller Fedora CoreOS Config snippets"
|
description = "Controller Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "worker_snippets" {
|
variable "worker_snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Worker Fedora CoreOS Config snippets"
|
description = "Worker Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: docker.service
|
- name: docker.service
|
||||||
|
|
|
@ -57,7 +57,7 @@ variable "priority" {
|
||||||
|
|
||||||
variable "snippets" {
|
variable "snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Fedora CoreOS Config snippets"
|
description = "Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: etcd-member.service
|
- name: etcd-member.service
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: docker.service
|
- name: docker.service
|
||||||
|
|
|
@ -57,7 +57,7 @@ EOD
|
||||||
|
|
||||||
variable "snippets" {
|
variable "snippets" {
|
||||||
type = map(list(string))
|
type = map(list(string))
|
||||||
description = "Map from machine names to lists of Fedora CoreOS Config snippets"
|
description = "Map from machine names to lists of Butane snippets"
|
||||||
default = {}
|
default = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: etcd-member.service
|
- name: etcd-member.service
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: docker.service
|
- name: docker.service
|
||||||
|
|
|
@ -48,13 +48,13 @@ variable "os_image" {
|
||||||
|
|
||||||
variable "controller_snippets" {
|
variable "controller_snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Controller Fedora CoreOS Config snippets"
|
description = "Controller Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "worker_snippets" {
|
variable "worker_snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Worker Fedora CoreOS Config snippets"
|
description = "Worker Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,9 +12,9 @@ Clusters are kept to a minimal Kubernetes control plane by offering components l
|
||||||
|
|
||||||
## Hosts
|
## Hosts
|
||||||
|
|
||||||
Typhoon uses the [Ignition](https://github.com/coreos/ignition) system of Fedora CoreOS and Flatcar Linux to immutably declare a system via first-boot disk provisioning. Fedora CoreOS uses a [Fedora CoreOS Config](https://docs.fedoraproject.org/en-US/fedora-coreos/fcct-config/) (FCC) and Flatcar Linux uses a [Container Linux Config](https://github.com/coreos/container-linux-config-transpiler/blob/master/doc/examples.md) (CLC). These define disk partitions, filesystems, systemd units, dropins, config files, mount units, raid arrays, and users.
|
Typhoon uses the [Ignition](https://github.com/coreos/ignition) system of Fedora CoreOS and Flatcar Linux to immutably declare a system via first-boot disk provisioning. Fedora CoreOS uses a [Butane Config](https://coreos.github.io/butane/specs/) and Flatcar Linux uses a [Container Linux Config](https://github.com/coreos/container-linux-config-transpiler/blob/master/doc/examples.md) (CLC). These define disk partitions, filesystems, systemd units, dropins, config files, mount units, raid arrays, and users.
|
||||||
|
|
||||||
Controller and worker instances form a minimal and secure Kubernetes cluster on each platform. Typhoon provides the **snippets** feature to accept Fedora CoreOS Configs or Container Linux Configs to validate and additively merge into instance declarations. This allows advanced host customization and experimentation.
|
Controller and worker instances form a minimal and secure Kubernetes cluster on each platform. Typhoon provides the **snippets** feature to accept Butane or Container Linux Configs to validate and additively merge into instance declarations. This allows advanced host customization and experimentation.
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
Snippets cannot be used to modify an already existing instance, the antithesis of immutable provisioning. Ignition fully declares a system on first boot only.
|
Snippets cannot be used to modify an already existing instance, the antithesis of immutable provisioning. Ignition fully declares a system on first boot only.
|
||||||
|
@ -30,14 +30,14 @@ Controller and worker instances form a minimal and secure Kubernetes cluster on
|
||||||
!!! note
|
!!! note
|
||||||
Fedora CoreOS snippets require `terraform-provider-ct` v0.5+
|
Fedora CoreOS snippets require `terraform-provider-ct` v0.5+
|
||||||
|
|
||||||
Define a Fedora CoreOS Config (FCC) ([docs](https://docs.fedoraproject.org/en-US/fedora-coreos/fcct-config/), [config](https://github.com/coreos/fcct/blob/master/docs/configuration-v1_0.md), [examples](https://github.com/coreos/fcct/blob/master/docs/examples.md)) in version control near your Terraform workspace directory (e.g. perhaps in a `snippets` subdirectory). You may organize snippets into multiple files, if desired.
|
Define a Butane Config ([docs](https://coreos.github.io/butane/specs/), [config](https://github.com/coreos/butane/blob/main/docs/config-fcos-v1_4.md)) in version control near your Terraform workspace directory (e.g. perhaps in a `snippets` subdirectory). You may organize snippets into multiple files, if desired.
|
||||||
|
|
||||||
For example, ensure an `/opt/hello` file is created with permissions 0644.
|
For example, ensure an `/opt/hello` file is created with permissions 0644.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# custom-files
|
# custom-files
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
storage:
|
storage:
|
||||||
files:
|
files:
|
||||||
- path: /opt/hello
|
- path: /opt/hello
|
||||||
|
@ -185,7 +185,7 @@ To set an alternative etcd image or Kubelet image, use a snippet to set a system
|
||||||
```yaml
|
```yaml
|
||||||
# kubelet-image-override.yaml
|
# kubelet-image-override.yaml
|
||||||
variant: fcos <- remove for Flatcar Linux
|
variant: fcos <- remove for Flatcar Linux
|
||||||
version: 1.2.0 <- remove for Flatcar Linux
|
version: 1.4.0 <- remove for Flatcar Linux
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: kubelet.service
|
- name: kubelet.service
|
||||||
|
@ -201,7 +201,7 @@ To set an alternative etcd image or Kubelet image, use a snippet to set a system
|
||||||
```yaml
|
```yaml
|
||||||
# etcd-image-override.yaml
|
# etcd-image-override.yaml
|
||||||
variant: fcos <- remove for Flatcar Linux
|
variant: fcos <- remove for Flatcar Linux
|
||||||
version: 1.2.0 <- remove for Flatcar Linux
|
version: 1.4.0 <- remove for Flatcar Linux
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: etcd-member.service
|
- name: etcd-member.service
|
||||||
|
|
|
@ -216,8 +216,8 @@ Reference the DNS zone id with `aws_route53_zone.zone-for-clusters.zone_id`.
|
||||||
| disk_iops | IOPS of the EBS volume | 0 (i.e. auto) | 400 |
|
| disk_iops | IOPS of the EBS volume | 0 (i.e. auto) | 400 |
|
||||||
| worker_target_groups | Target group ARNs to which worker instances should be added | [] | [aws_lb_target_group.app.id] |
|
| worker_target_groups | Target group ARNs to which worker instances should be added | [] | [aws_lb_target_group.app.id] |
|
||||||
| worker_price | Spot price in USD for worker instances or 0 to use on-demand instances | 0 | 0.10 |
|
| worker_price | Spot price in USD for worker instances or 0 to use on-demand instances | 0 | 0.10 |
|
||||||
| controller_snippets | Controller Fedora CoreOS Config snippets | [] | [examples](/advanced/customization/) |
|
| controller_snippets | Controller Butane snippets | [] | [examples](/advanced/customization/) |
|
||||||
| worker_snippets | Worker Fedora CoreOS Config snippets | [] | [examples](/advanced/customization/) |
|
| worker_snippets | Worker Butane snippets | [] | [examples](/advanced/customization/) |
|
||||||
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
||||||
| network_mtu | CNI interface MTU (calico only) | 1480 | 8981 |
|
| network_mtu | CNI interface MTU (calico only) | 1480 | 8981 |
|
||||||
| host_cidr | CIDR IPv4 range to assign to EC2 instances | "10.0.0.0/16" | "10.1.0.0/16" |
|
| host_cidr | CIDR IPv4 range to assign to EC2 instances | "10.0.0.0/16" | "10.1.0.0/16" |
|
||||||
|
|
|
@ -243,8 +243,8 @@ Reference the DNS zone with `azurerm_dns_zone.clusters.name` and its resource gr
|
||||||
| worker_type | Machine type for workers | "Standard_DS1_v2" | See below |
|
| worker_type | Machine type for workers | "Standard_DS1_v2" | See below |
|
||||||
| disk_size | Size of the disk in GB | 30 | 100 |
|
| disk_size | Size of the disk in GB | 30 | 100 |
|
||||||
| worker_priority | Set priority to Spot to use reduced cost surplus capacity, with the tradeoff that instances can be deallocated at any time | Regular | Spot |
|
| worker_priority | Set priority to Spot to use reduced cost surplus capacity, with the tradeoff that instances can be deallocated at any time | Regular | Spot |
|
||||||
| controller_snippets | Controller Fedora CoreOS Config snippets | [] | [example](/advanced/customization/#usage) |
|
| controller_snippets | Controller Butane snippets | [] | [example](/advanced/customization/#usage) |
|
||||||
| worker_snippets | Worker Fedora CoreOS Config snippets | [] | [example](/advanced/customization/#usage) |
|
| worker_snippets | Worker Butane snippets | [] | [example](/advanced/customization/#usage) |
|
||||||
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
||||||
| host_cidr | CIDR IPv4 range to assign to instances | "10.0.0.0/16" | "10.0.0.0/20" |
|
| host_cidr | CIDR IPv4 range to assign to instances | "10.0.0.0/16" | "10.0.0.0/20" |
|
||||||
| pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" |
|
| pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" |
|
||||||
|
|
|
@ -335,7 +335,7 @@ Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/bare-me
|
||||||
| install_disk | Disk device where Fedora CoreOS should be installed | "sda" (not "/dev/sda" like Container Linux) | "sdb" |
|
| install_disk | Disk device where Fedora CoreOS should be installed | "sda" (not "/dev/sda" like Container Linux) | "sdb" |
|
||||||
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
||||||
| network_mtu | CNI interface MTU (calico-only) | 1480 | - |
|
| network_mtu | CNI interface MTU (calico-only) | 1480 | - |
|
||||||
| snippets | Map from machine names to lists of Fedora CoreOS Config snippets | {} | [examples](/advanced/customization/) |
|
| snippets | Map from machine names to lists of Butane snippets | {} | [examples](/advanced/customization/) |
|
||||||
| network_ip_autodetection_method | Method to detect host IPv4 address (calico-only) | "first-found" | "can-reach=10.0.0.1" |
|
| network_ip_autodetection_method | Method to detect host IPv4 address (calico-only) | "first-found" | "can-reach=10.0.0.1" |
|
||||||
| pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" |
|
| pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" |
|
||||||
| service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" |
|
| service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" |
|
||||||
|
|
|
@ -238,8 +238,8 @@ Digital Ocean requires the SSH public key be uploaded to your account, so you ma
|
||||||
| worker_count | Number of workers | 1 | 3 |
|
| worker_count | Number of workers | 1 | 3 |
|
||||||
| controller_type | Droplet type for controllers | "s-2vcpu-2gb" | s-2vcpu-2gb, s-2vcpu-4gb, s-4vcpu-8gb, ... |
|
| controller_type | Droplet type for controllers | "s-2vcpu-2gb" | s-2vcpu-2gb, s-2vcpu-4gb, s-4vcpu-8gb, ... |
|
||||||
| worker_type | Droplet type for workers | "s-1vcpu-2gb" | s-1vcpu-2gb, s-2vcpu-2gb, ... |
|
| worker_type | Droplet type for workers | "s-1vcpu-2gb" | s-1vcpu-2gb, s-2vcpu-2gb, ... |
|
||||||
| controller_snippets | Controller Fedora CoreOS Config snippets | [] | [example](/advanced/customization/) |
|
| controller_snippets | Controller Butane snippets | [] | [example](/advanced/customization/) |
|
||||||
| worker_snippets | Worker Fedora CoreOS Config snippets | [] | [example](/advanced/customization/) |
|
| worker_snippets | Worker Butane snippets | [] | [example](/advanced/customization/) |
|
||||||
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
||||||
| pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" |
|
| pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" |
|
||||||
| service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" |
|
| service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" |
|
||||||
|
|
|
@ -218,8 +218,8 @@ resource "google_dns_managed_zone" "zone-for-clusters" {
|
||||||
| os_stream | Fedora CoreOS stream for compute instances | "stable" | "stable", "testing", "next" |
|
| os_stream | Fedora CoreOS stream for compute instances | "stable" | "stable", "testing", "next" |
|
||||||
| disk_size | Size of the disk in GB | 30 | 100 |
|
| disk_size | Size of the disk in GB | 30 | 100 |
|
||||||
| worker_preemptible | If enabled, Compute Engine will terminate workers randomly within 24 hours | false | true |
|
| worker_preemptible | If enabled, Compute Engine will terminate workers randomly within 24 hours | false | true |
|
||||||
| controller_snippets | Controller Fedora CoreOS Config snippets | [] | [examples](/advanced/customization/) |
|
| controller_snippets | Controller Butane snippets | [] | [examples](/advanced/customization/) |
|
||||||
| worker_snippets | Worker Fedora CoreOS Config snippets | [] | [examples](/advanced/customization/) |
|
| worker_snippets | Worker Butane snippets | [] | [examples](/advanced/customization/) |
|
||||||
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
| networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" |
|
||||||
| pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" |
|
| pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" |
|
||||||
| service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" |
|
| service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: etcd-member.service
|
- name: etcd-member.service
|
||||||
|
|
|
@ -71,13 +71,13 @@ variable "worker_preemptible" {
|
||||||
|
|
||||||
variable "controller_snippets" {
|
variable "controller_snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Controller Fedora CoreOS Config snippets"
|
description = "Controller Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "worker_snippets" {
|
variable "worker_snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Worker Fedora CoreOS Config snippets"
|
description = "Worker Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
variant: fcos
|
variant: fcos
|
||||||
version: 1.2.0
|
version: 1.4.0
|
||||||
systemd:
|
systemd:
|
||||||
units:
|
units:
|
||||||
- name: docker.service
|
- name: docker.service
|
||||||
|
|
|
@ -59,7 +59,7 @@ variable "preemptible" {
|
||||||
|
|
||||||
variable "snippets" {
|
variable "snippets" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
description = "Fedora CoreOS Config snippets"
|
description = "Butane snippets"
|
||||||
default = []
|
default = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue