Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/utilitywarehouse/tf_kube_aws
terraform modules for kubernetes on container linux
https://github.com/utilitywarehouse/tf_kube_aws
aws infrastructure kubernetes terraform uw-owner-system
Last synced: about 19 hours ago
JSON representation
terraform modules for kubernetes on container linux
- Host: GitHub
- URL: https://github.com/utilitywarehouse/tf_kube_aws
- Owner: utilitywarehouse
- License: mit
- Created: 2017-08-01T13:55:43.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-11-14T13:20:24.000Z (about 1 month ago)
- Last Synced: 2024-11-14T14:26:58.841Z (about 1 month ago)
- Topics: aws, infrastructure, kubernetes, terraform, uw-owner-system
- Language: HCL
- Homepage:
- Size: 136 KB
- Stars: 9
- Watchers: 7
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tf_kube_aws
This terraform module creates a kubernetes cluster in AWS. It assumes [ignition](https://coreos.com/ignition) userdata and it's designed to synergise well with [tf_kube_ignition](https://github.com/utilitywarehouse/tf_kube_ignition).
## Input Variables
The input variables are documented in their description and it's best to refer to [variables.tf](variables.tf).
## Ouputs
- `etcd_ip_list` - a list with the IP addresses of the created etcd nodes
- `cfssl_ip` - the IP address of the cfssl server that manages certificates
- `master_address` - the endpoint on which the kubernetes api is made available
- `etcd_security_group_id` - the id of the security group to which kubernetes etcd nodes belong
- `master_security_group_id` - the id of the security group to which kubernetes master nodes belong
- `worker_security_group_id` - the id of the security group to which kubernetes worker nodes belong## Usage
Below is an example of how you might use this terraform module:
```hcl
module "aws_cluster" {
source = "github.com/utilitywarehouse/tf_kube_aws"region = "eu-west-1"
cluster_name = "example-kube"
cluster_subdomain = "k8s"
vpc_id = "${aws_vpc.example.id}"
containerlinux_ami_id = "ami-xxxxxxxxx"
route53_zone_id = "${aws_route53_zone.example.id}"
route53_inaddr_arpa_zone_id = "${aws_route53_zone.example-reverse.id}"
control_plane_private_subnet_ids = "${aws_subnet.control_plane_private.*.id}"
worker_node_private_subnet_ids = "${aws_subnet.workers_private.*.id}"
public_subnet_ids = "${aws_subnet.public.*.id}"
key_name = "${aws_key_pair.example.key_name}"
ssh_security_group_ids = ["${aws_security_group.ssh.id}"]
cfssl_user_data = "${module.ignition.cfssl}"
etcd_user_data = "${module.ignition.etcd}"
master_user_data = "${module.ignition.master}"
worker_user_data = "${module.ignition.worker}"
}
```