Terraform to create Kubernetes clusters on multiple public cloud platforms (Aliyun, AWS, Azure, DO, GCP, OCI)
Terraform code for creating a handful of simple managed Kubernetes clusters on multiple public cloud platforms.
Managed in this context means the master nodes (= control plane) are managed by the cloud platform provider. We only create the service, the worker nodes and the bare minimum of everything else to get a working K8s cluster.
âšī¸ This is for demonstration and/or learning purposes.
âšī¸ Please do not use this in production.
đ https://napo.io/posts/terraform-kubernetes-multi-cloud-ack-aks-dok-eks-gke-oke/
Name | Description | Type | Default | Required |
---|---|---|---|---|
enable_alibaba | Enable / Disable Alibaba | bool | false | yes |
enable_amazon | Enable / Disable Amazon | bool | false | yes |
enable_digitalocean | Enable / Disable DigitalOcean | bool | false | yes |
enable_google | Enable / Disable Google | bool | false | yes |
enable_microsoft | Enable / Disable Microsoft | bool | false | yes |
enable_oracle | Enable / Disable Oracle | bool | false | yes |
nodes | Kubernetes worker nodes (e.g. 2 ) |
number | 2 | no |
ali_access_key | Alibaba Cloud AccessKey ID | string | yes | |
ali_secret_key | Alibaba Cloud Access Key Secret | string | yes | |
aws_profile | AWS cli profile (e.g. default ) |
string | default | yes |
gcp_project | GCP Project ID | string | yes | |
az_client_id | Azure Service Principal appId | string | yes | |
az_client_secret | Azure Service Principal password | string | yes | |
az_tenant_id | Azure Service Principal tenant | string | yes | |
do_token | Digital Ocean personal access (API) token | string | yes | |
oci_user_ocid | OCI User OCID | string | yes | |
oci_tenancy_ocid | OCI Tenancy OCID | string | yes | |
oci_fingerprint | OCI SSH public key fingerprint | string | yes |