This repository shows how to use HashiCorp Terraform to deploy Kubernetes on AWS, DigitalOcean, Microsoft Azure, and Google Cloud.
This repository uses a standard Terraform workflow (init, plan, apply).
For more information, including detailed usage guidelines, see the Terraform documentation.
The code in this repository is split out into a handful of distinct workflows, each in their own directory.
./akscontains code for Azure AKS clusters./ekscontains code for AWS EKS clusters./dokscontains code for DigitalOcean Kubernetes clusters./gkecontains code for Google Cloud GKE clusters./kindcontains code for Kubernetes in Docker (kind) Clusters
Each directory contains its own README.md with information relevant to the workflow.
-
By default, all Terraform state is stored in Terraform Cloud. This can be changed by modifying the
cloudconfiguration in eachmain.tffile. -
A previous version of this repository featured Consul and Vault deployments. The code for this is accessible via the
v1Tag.
This repository is maintained by the contributors listed on GitHub.
Licensed under the Apache License, Version 2.0 (the "License").
You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" basis, without WARRANTIES or conditions of any kind, either express or implied.
See the License for the specific language governing permissions and limitations under the License.