We are bringing the best of Tectonic to Red Hat OpenShift to build the most secure, hybrid Kubernetes application platform.
Following this guide will deploy a Tectonic cluster within your AWS account.
Generally, the AWS platform templates adhere to the standards defined by the project conventions and generic platform requirements. This document aims to document the implementation details specific to the AWS platform.
Alpha: These modules and instructions are currently considered alpha. See the platform life cycle for more details.
tectonic_base_domain
is set to kube.example.com
a route53 zone must exist for this domain and the AWS nameservers must be configured for the domain.make
to download a customized version of Terraform, which is pinned to a specific version and includes required plugins.First, clone the Tectonic Installer repository in a convenient location:
$ git clone https://github.com/coreos/tectonic-installer.git
$ cd tectonic-installer
Download the pinned Terraform binary and modules required for Tectonic:
$ make terraform-download
After downloading, you will need to source this new binary in your $PATH
. This is important, especially if you have another verison of Terraform installed. Run this command to add it to your path:
$ export PATH=`pwd`/bin/terraform:$PATH
You can double check that you're using the binary that was just downloaded:
$ which terraform
/Users/coreos/tectonic-installer/bin/terraform/terraform
Next, get the modules that Terraform will use to create the cluster resources:
$ terraform get platforms/aws
Configure your AWS credentials. See the AWS docs for details.
$ export AWS_ACCESS_KEY_ID=
$ export AWS_SECRET_ACCESS_KEY=
Set your desired region:
$ export AWS_REGION=
Now we're ready to specify our cluster configuration.
Customizations to the base installation live in platforms/aws/terraform.tfvars.example
. Export a variable that will be your cluster identifier:
$ export CLUSTER=my-cluster
Create a build directory to hold your customizations and copy the example file into it:
$ mkdir -p build/${CLUSTER}
$ cp platforms/aws/terraform.tfvars.example build/${CLUSTER}/terraform.tfvars
Edit the parameters with your AWS details, domain name, license, etc. View all of the AWS specific options and the common Tectonic variables.
Test out the plan before deploying everything:
$ terraform plan -var-file=build/${CLUSTER}/terraform.tfvars platforms/aws
Next, deploy the cluster:
$ terraform apply -var-file=build/${CLUSTER}/terraform.tfvars platforms/aws
This should run for a little bit, and when complete, your Tectonic cluster should be ready.
If you encounter any issues, check the known issues and workarounds below.
The Tectonic Console should be up and running after the containers have downloaded. You can access it at the DNS name configured in your variables file.
Inside of the /generated
folder you should find any credentials, including the CA if generated, and a kubeconfig. You can use this to control the cluster with kubectl
:
$ export KUBECONFIG=generated/kubeconfig
$ kubectl cluster-info
Deleting your cluster will remove only the infrastructure elements created by Terraform. If you selected an existing VPC and subnets, these items are not touched. To delete, run:
$ terraform destroy -var-file=build/${CLUSTER}/terraform.tfvars platforms/aws
See the troubleshooting document for work arounds for bugs that are being tracked.