Name: terraform-aws-kubernetes
Owner: CoreOS
Description: Install a Kubernetes cluster the CoreOS Tectonic Way: HA, self-hosted, RBAC, etcd Operator, and more
Created: 2017-09-09 00:54:09.0
Updated: 2018-01-18 17:32:45.0
Pushed: 2018-01-10 11:28:17.0
Size: 91
Language: HCL
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This module deploys a Tectonic Kubernetes cluster on an AWS account using Terraform. Tectonic is an enterprise-ready distribution of Kubernetes including automatic updates, monitoring and alerting, integration with common authentication regimes, and a graphical console for managing clusters in a web browser.
This module can deploy either a complete Tectonic cluster, requiring a Tectonic license, or a “stock” Kubernetes cluster without Tectonic features.
To install Tectonic on AWS with a graphical installer instead, refer to the Tectonic graphical installer documentation.
The AWS platform templates adhere to the standards defined by the project conventions and generic platform requirements. This document details the specifics of the AWS platform.
Customizations to the base installation are made to the Terraform variables for each deployment. Examples of the the Tectonic-specific variables are provided in the file examples/kubernetes.tf
.
Edit the parameters with your AWS details, domain name, and Tectonic license. To install a basic Kubernetes cluster without Tectonic features, set the tectonic_vanilla_k8s
key to true
and omit the Tectonic license.
View all of the AWS specific options and the common Tectonic variables.
Get the modules and providers that Terraform will use to create the cluster resources:
rraform init
loading modules...
git::https://github.com/coreos/tectonic-installer.git?ref=1d75718d96c7bdec04d5ffb8a72fa059b1fcb79a
git::https://github.com/coreos/tectonic-installer.git?ref=1d75718d96c7bdec04d5ffb8a72fa059b1fcb79a
ializing provider plugins...
wnloading plugin for provider "template"...
wnloading plugin for provider "ignition"...
wnloading plugin for provider "aws"...
Test the blueprint before deploying:
rraform plan
Next, deploy the cluster:
rraform apply
This should run for a short time, and when complete, the cluster should be ready.
The Tectonic Console should be up and running after the containers have downloaded. You can access it at the DNS name formed by concatenating the cluster name with the domain configured in the Terraform variables.
Cluster credentials are written beneath the generated/
directory, including any generated CA certificate and a kubeconfig
file. You can use this to access the cluster with kubectl
. This is the only method of access for a Kubernetes cluster installed without Tectonic features:
port KUBECONFIG=generated/auth/kubeconfig
bectl cluster-info
For more information on working with installed clusters, see Scaling Tectonic AWS clusters, and Uninstalling Tectonic.
See the troubleshooting document for workarounds and known issues.