diff --git a/CHANGES.md b/CHANGES.md index 00064a4b..5740f380 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -9,6 +9,7 @@ Notable changes between versions. #### Google Cloud * Add Terraform module for Fedora CoreOS ([#632](https://github.com/poseidon/typhoon/pull/632)) +* Add support for Flatcar Container Linux ([#639](https://github.com/poseidon/typhoon/pull/639)) #### Addons diff --git a/README.md b/README.md index 6d06e9c0..822d3669 100644 --- a/README.md +++ b/README.md @@ -23,13 +23,13 @@ Typhoon provides a Terraform Module for each supported operating system and plat | Platform | Operating System | Terraform Module | Status | |---------------|------------------|------------------|--------| -| AWS | Container Linux / Flatcar Linux | [aws/container-linux/kubernetes](aws/container-linux/kubernetes) | stable | +| AWS | Container Linux | [aws/container-linux/kubernetes](aws/container-linux/kubernetes) | stable | | Azure | Container Linux | [azure/container-linux/kubernetes](azure/container-linux/kubernetes) | alpha | -| Bare-Metal | Container Linux / Flatcar Linux | [bare-metal/container-linux/kubernetes](bare-metal/container-linux/kubernetes) | stable | +| Bare-Metal | Container Linux | [bare-metal/container-linux/kubernetes](bare-metal/container-linux/kubernetes) | stable | | Digital Ocean | Container Linux | [digital-ocean/container-linux/kubernetes](digital-ocean/container-linux/kubernetes) | beta | | Google Cloud | Container Linux | [google-cloud/container-linux/kubernetes](google-cloud/container-linux/kubernetes) | stable | -Typhoon is available for [Fedora CoreOS](https://getfedora.org/coreos/) in alpha. +Typhoon is available for [Fedora CoreOS](https://getfedora.org/coreos/). | Platform | Operating System | Terraform Module | Status | |---------------|------------------|------------------|--------| @@ -37,6 +37,14 @@ Typhoon is available for [Fedora CoreOS](https://getfedora.org/coreos/) in alpha | Bare-Metal | Fedora CoreOS | [bare-metal/fedora-coreos/kubernetes](bare-metal/fedora-coreos/kubernetes) | alpha | | Google Cloud | Fedora CoreOS | [google-cloud/fedora-coreos/kubernetes](google-cloud/fedora-coreos/kubernetes) | alpha | +Typhoon is available for [Flatcar Container Linux](https://www.flatcar-linux.org/releases/). + +| Platform | Operating System | Terraform Module | Status | +|---------------|------------------|------------------|--------| +| AWS | Flatcar Linux | [aws/container-linux/kubernetes](aws/container-linux/kubernetes) | stable | +| Bare-Metal | Flatcar Linux | [bare-metal/container-linux/kubernetes](bare-metal/container-linux/kubernetes) | stable | +| Google Cloud | Flatcar Linux | [google-cloud/container-linux/kubernetes](google-cloud/container-linux/kubernetes) | alpha | + ## Documentation * [Docs](https://typhoon.psdn.io) diff --git a/docs/cl/google-cloud.md b/docs/cl/google-cloud.md index 31867f13..00f00a35 100644 --- a/docs/cl/google-cloud.md +++ b/docs/cl/google-cloud.md @@ -81,7 +81,7 @@ module "yavin" { # configuration ssh_authorized_key = "ssh-rsa AAAAB3Nz..." - + # optional worker_count = 2 } @@ -89,6 +89,31 @@ module "yavin" { Reference the [variables docs](#variables) or the [variables.tf](https://github.com/poseidon/typhoon/blob/master/google-cloud/container-linux/kubernetes/variables.tf) source. +### Flatcar Linux Images + +!!! success + Skip this section when using CoreOS Container Linux (default). CoreOS Container Linux publishes official images to Google Cloud. + +!!! danger + Typhoon for Flatcar Linux on Google Cloud is alpha. + +Flatcar Linux publishes images for Google Cloud, but does not yet upload them. Google Cloud allows [custom boot images](https://cloud.google.com/compute/docs/images/import-existing-image) to be uploaded to a bucket and imported into your project. + +[Download](https://www.flatcar-linux.org/releases/) the Flatcar Linux GCE gzipped tarball and upload it to a Google Cloud storage bucket. + +``` +gsutil list +gsutil cp flatcar_production_gce.tar.gz gs://BUCKET +``` + +Create a Compute Engine image from the file. + +``` +gcloud compute images create flatcar-linux-2303-4-0 --source-uri gs://BUCKET_NAME/flatcar_production_gce.tar.gz +``` + +Set the [os_image](#variables) to the image name (e.g. `flatcar-linux-2303-4-0`) + ## ssh-agent Initial bootstrapping requires `bootstrap.service` be started on one controller node. Terraform uses `ssh-agent` to automate this step. Add your SSH private key to `ssh-agent`. @@ -217,7 +242,7 @@ resource "google_dns_managed_zone" "zone-for-clusters" { | worker_count | Number of workers | 1 | 3 | | controller_type | Machine type for controllers | "n1-standard-1" | See below | | worker_type | Machine type for workers | "n1-standard-1" | See below | -| os_image | Container Linux image for compute instances | "coreos-stable" | "coreos-stable-1632-3-0-v20180215" | +| os_image | Container Linux image for compute instances | "coreos-stable" | "flatcar-linux-2303-4-0" | | disk_size | Size of the disk in GB | 40 | 100 | | worker_preemptible | If enabled, Compute Engine will terminate workers randomly within 24 hours | false | true | | controller_clc_snippets | Controller Container Linux Config snippets | [] | [example](/advanced/customization/) | diff --git a/docs/fedora-coreos/google-cloud.md b/docs/fedora-coreos/google-cloud.md index 5df39267..14e2eaf1 100644 --- a/docs/fedora-coreos/google-cloud.md +++ b/docs/fedora-coreos/google-cloud.md @@ -72,14 +72,14 @@ Additional configuration options are described in the `google` provider [docs](h Fedora CoreOS publishes images for Google Cloud, but does not yet upload them. Google Cloud allows [custom boot images](https://cloud.google.com/compute/docs/images/import-existing-image) to be uploaded to a bucket and imported into your project. -[Download](https://getfedora.org/coreos/download/) the Fedora CoreOS GCP gzipped tarball. Then upload the file to a GCS storage bucket. +[Download](https://getfedora.org/coreos/download/) a Fedora CoreOS GCP gzipped tarball and upload it to a Google Cloud storage bucket. ``` gsutil list -gsutil cp fedora-coreos-31.20200113.3.1-gcp.x86_64.tar.gz gs://BUCKET_NAME +gsutil cp fedora-coreos-31.20200113.3.1-gcp.x86_64.tar.gz gs://BUCKET ``` -Create a Google Compute Engine image from the bucket file. +Create a Compute Engine image from the file. ``` gcloud compute images create fedora-coreos-31-20200113-3-1 --source-uri gs://BUCKET/fedora-coreos-31.20200113.3.1-gcp.x86_64.tar.gz @@ -98,7 +98,8 @@ module "yavin" { region = "us-central1" dns_zone = "example.com" dns_zone_name = "example-zone" - # temporary + + # custom image name from above os_image = "fedora-coreos-31-20200113-3-1" # configuration diff --git a/docs/index.md b/docs/index.md index 038440f0..addaf517 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,13 +23,13 @@ Typhoon provides a Terraform Module for each supported operating system and plat | Platform | Operating System | Terraform Module | Status | |---------------|------------------|------------------|--------| -| AWS | Container Linux / Flatcar Linux | [aws/container-linux/kubernetes](cl/aws.md) | stable | +| AWS | Container Linux | [aws/container-linux/kubernetes](cl/aws.md) | stable | | Azure | Container Linux | [azure/container-linux/kubernetes](cl/azure.md) | alpha | -| Bare-Metal | Container Linux / Flatcar Linux | [bare-metal/container-linux/kubernetes](cl/bare-metal.md) | stable | +| Bare-Metal | Container 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 | | Google Cloud | Container Linux | [google-cloud/container-linux/kubernetes](cl/google-cloud.md) | stable | -Typhoon is available for [Fedora CoreOS](https://getfedora.org/coreos/) in alpha. +Typhoon is available for [Fedora CoreOS](https://getfedora.org/coreos/). | Platform | Operating System | Terraform Module | Status | |---------------|------------------|------------------|--------| @@ -37,6 +37,14 @@ Typhoon is available for [Fedora CoreOS](https://getfedora.org/coreos/) in alpha | Bare-Metal | Fedora CoreOS | [bare-metal/fedora-coreos/kubernetes](fedora-coreos/bare-metal.md) | alpha | | Google Cloud | Fedora CoreOS | [google-cloud/fedora-coreos/kubernetes](google-cloud/fedora-coreos/kubernetes) | alpha | +Typhoon is available for [Flatcar Container Linux](https://www.flatcar-linux.org/releases/). + +| Platform | Operating System | Terraform Module | Status | +|---------------|------------------|------------------|--------| +| AWS | Flatcar Linux | [aws/container-linux/kubernetes](cl/aws.md) | stable | +| Bare-Metal | Flatcar Linux | [bare-metal/container-linux/kubernetes](cl/bare-metal.md) | stable | +| Google Cloud | Flatcar Linux | [google-cloud/container-linux/kubernetes](cl/google-cloud.md) | alpha | + ## Documentation * Architecture [concepts](architecture/concepts.md) and [operating-systems](architecture/operating-systems.md)