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.
./aks
contains code for Azure AKS clusters./eks
contains code for AWS EKS clusters./doks
contains code for DigitalOcean Kubernetes clusters./gke
contains code for Google Cloud GKE clusters./kind
contains 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
cloud
configuration in eachmain.tf
file. -
A previous version of this repository featured Consul and Vault deployments. The code for this is accessible via the
v1
Tag.
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.