Allow using Flatcar Linux Edge on bare-metal and AWS

* On AWS, use Flatcar Linux Edge by setting `os_image` to
"flatcar-edge"
* On bare-metal, Flatcar Linux Edge by setting `os_channel` to
"flatcar-edge"
This commit is contained in:
Dalton Hubble 2019-06-11 22:13:41 -07:00
parent 331ebd90f6
commit 5c4486f57b
9 changed files with 14 additions and 12 deletions

View File

@ -12,6 +12,7 @@ Notable changes between versions.
#### AWS #### AWS
* Require `terraform-provider-aws` v2.7+ to support Terraform v0.12 (action required) * Require `terraform-provider-aws` v2.7+ to support Terraform v0.12 (action required)
* Allow using Flatcar Linux Edge by setting `os_image` to "flatcar-edge"
#### Azure #### Azure
@ -23,6 +24,7 @@ Notable changes between versions.
#### Bare-Metal #### Bare-Metal
* Require `terraform-provider-matchbox` v0.3.0+ to support Terraform v0.12 (action required) * Require `terraform-provider-matchbox` v0.3.0+ to support Terraform v0.12 (action required)
* Allow using Flatcar Linux Edge by setting `os_channel` to "flatcar-edge"
#### DigitalOcean #### DigitalOcean

View File

@ -24,7 +24,7 @@ data "aws_ami" "coreos" {
filter { filter {
name = "name" name = "name"
values = ["CoreOS-${local.channel}-*"] values = ["CoreOS-${local.flavor == "coreos" ? local.channel : "stable"}-*"]
} }
} }
@ -44,7 +44,7 @@ data "aws_ami" "flatcar" {
filter { filter {
name = "name" name = "name"
values = ["Flatcar-${local.channel}-*"] values = ["Flatcar-${local.flavor == "flatcar" ? local.channel : "stable"}-*"]
} }
} }

View File

@ -44,7 +44,7 @@ variable "worker_type" {
variable "os_image" { variable "os_image" {
type = string type = string
default = "coreos-stable" default = "coreos-stable"
description = "AMI channel for a Container Linux derivative (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha)" description = "AMI channel for a Container Linux derivative (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha, flatcar-edge)"
} }
variable "disk_size" { variable "disk_size" {

View File

@ -24,7 +24,7 @@ data "aws_ami" "coreos" {
filter { filter {
name = "name" name = "name"
values = ["CoreOS-${local.channel}-*"] values = ["CoreOS-${local.flavor == "coreos" ? local.channel : "stable"}-*"]
} }
} }
@ -44,7 +44,7 @@ data "aws_ami" "flatcar" {
filter { filter {
name = "name" name = "name"
values = ["Flatcar-${local.channel}-*"] values = ["Flatcar-${local.flavor == "flatcar" ? local.channel : "stable"}-*"]
} }
} }

View File

@ -37,7 +37,7 @@ variable "instance_type" {
variable "os_image" { variable "os_image" {
type = string type = string
default = "coreos-stable" default = "coreos-stable"
description = "AMI channel for a Container Linux derivative (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha)" description = "AMI channel for a Container Linux derivative (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha, flatcar-edge)"
} }
variable "disk_size" { variable "disk_size" {

View File

@ -12,12 +12,12 @@ variable "matchbox_http_endpoint" {
variable "os_channel" { variable "os_channel" {
type = string type = string
description = "Channel for a Container Linux derivative (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha)" description = "Channel for a Container Linux derivative (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha, flatcar-edge)"
} }
variable "os_version" { variable "os_version" {
type = string type = string
description = "Version for a Container Linux derivative to PXE and install (coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha)" description = "Version for a Container Linux derivative to PXE and install (e.g. 2079.5.1)"
} }
# machines # machines

View File

@ -208,7 +208,7 @@ Reference the DNS zone id with `"${aws_route53_zone.zone-for-clusters.zone_id}"`
| worker_count | Number of workers | 1 | 3 | | worker_count | Number of workers | 1 | 3 |
| controller_type | EC2 instance type for controllers | "t3.small" | See below | | controller_type | EC2 instance type for controllers | "t3.small" | See below |
| worker_type | EC2 instance type for workers | "t3.small" | See below | | worker_type | EC2 instance type for workers | "t3.small" | See below |
| os_image | AMI channel for a Container Linux derivative | coreos-stable | coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha | | os_image | AMI channel for a Container Linux derivative | coreos-stable | coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha, flatcar-edge |
| disk_size | Size of the EBS volume in GB | "40" | "100" | | disk_size | Size of the EBS volume in GB | "40" | "100" |
| disk_type | Type of the EBS volume | "gp2" | standard, gp2, io1 | | disk_type | Type of the EBS volume | "gp2" | standard, gp2, io1 |
| disk_iops | IOPS of the EBS volume | "0" (i.e. auto) | "400" | | disk_iops | IOPS of the EBS volume | "0" (i.e. auto) | "400" |

View File

@ -336,7 +336,7 @@ Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/bare-me
|:-----|:------------|:--------| |:-----|:------------|:--------|
| cluster_name | Unique cluster name | mercury | | cluster_name | Unique cluster name | mercury |
| matchbox_http_endpoint | Matchbox HTTP read-only endpoint | http://matchbox.example.com:port | | matchbox_http_endpoint | Matchbox HTTP read-only endpoint | http://matchbox.example.com:port |
| os_channel | Channel for a Container Linux derivative | coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha | | os_channel | Channel for a Container Linux derivative | coreos-stable, coreos-beta, coreos-alpha, flatcar-stable, flatcar-beta, flatcar-alpha, flatcar-edge |
| os_version | Version for a Container Linux derivative to PXE and install | 1632.3.0 | | os_version | Version for a Container Linux derivative to PXE and install | 1632.3.0 |
| k8s_domain_name | FQDN resolving to the controller(s) nodes. Workers and kubectl will communicate with this endpoint | "myk8s.example.com" | | k8s_domain_name | FQDN resolving to the controller(s) nodes. Workers and kubectl will communicate with this endpoint | "myk8s.example.com" |
| ssh_authorized_key | SSH public key for user 'core' | "ssh-rsa AAAAB3Nz..." | | ssh_authorized_key | SSH public key for user 'core' | "ssh-rsa AAAAB3Nz..." |

View File

@ -23,9 +23,9 @@ Typhoon provides a Terraform Module for each supported operating system and plat
| Platform | Operating System | Terraform Module | Status | | Platform | Operating System | Terraform Module | Status |
|---------------|------------------|------------------|--------| |---------------|------------------|------------------|--------|
| AWS | Container Linux | [aws/container-linux/kubernetes](cl/aws.md) | stable | | AWS | Container Linux / Flatcar Linux | [aws/container-linux/kubernetes](cl/aws.md) | stable |
| Azure | Container Linux | [azure/container-linux/kubernetes](cl/azure.md) | alpha | | Azure | Container Linux | [azure/container-linux/kubernetes](cl/azure.md) | alpha |
| Bare-Metal | Container Linux | [bare-metal/container-linux/kubernetes](cl/bare-metal.md) | stable | | Bare-Metal | Container Linux / Flatcar Linux | [bare-metal/container-linux/kubernetes](cl/bare-metal.md) | stable |
| Digital Ocean | Container Linux | [digital-ocean/container-linux/kubernetes](cl/digital-ocean.md) | beta | | Digital Ocean | Container Linux | [digital-ocean/container-linux/kubernetes](cl/digital-ocean.md) | beta |
| Google Cloud | Container Linux | [google-cloud/container-linux/kubernetes](cl/google-cloud.md) | stable | | Google Cloud | Container Linux | [google-cloud/container-linux/kubernetes](cl/google-cloud.md) | stable |