Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
#50)

* feat: update EKS ami to https://github.com/awslabs/amazon-eks-ami/releases/tag/v20230816
* feat: update csi driver v1.21.0 -> v1.22.0
* fix: change defaults to 4 nodes instead of 3. It's easier to have an even number of nodes per AZ than to deal with a situation where we have odd.
* terraform-docs: automated action


---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: fernandoataoldotcom <[email protected]>
  • Loading branch information
3 people authored Sep 2, 2023
1 parent 8a7a6c0 commit fe15de5
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 20 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ module "captain" {
iam_role_to_assume = "arn:aws:iam::1234567890:role/glueops-captain-role"
source = "git::https://github.com/GlueOps/terraform-module-cloud-aws-kubernetes-cluster.git"
eks_version = "1.27"
csi_driver_version = "v1.21.0-eksbuild.1"
csi_driver_version = "v1.22.0-eksbuild.2"
vpc_cidr_block = "10.65.0.0/26"
region = "us-west-2"
availability_zones = ["us-west-2a", "us-west-2b"]
node_pools = [
# {
# "ami_image_id" : "ami-032121bb9a4ea9359",
# "ami_image_id" : "ami-0bce9ab1f1be3282a",
# "instance_type" : "t3a.large",
# "name" : "glueops-platform-node-pool-1",
# "node_count" : 3,
# "node_count" : 4,
# "spot" : false,
# "disk_size_gb" : 20,
# "max_pods" : 110,
Expand All @@ -44,10 +44,10 @@ module "captain" {
# ]
# },
# {
# "ami_image_id" : "ami-032121bb9a4ea9359",
# "ami_image_id" : "ami-0bce9ab1f1be3282a",
# "instance_type" : "t3a.large",
# "name" : "clusterwide-node-pool-1",
# "node_count" : 3,
# "node_count" : 4,
# "spot" : false,
# "disk_size_gb" : 20,
# "max_pods" : 110,
Expand Down Expand Up @@ -168,10 +168,10 @@ No requirements.
|------|-------------|------|---------|:--------:|
| <a name="input_availability_zones"></a> [availability\_zones](#input\_availability\_zones) | The availability zones to deploy into | `list(string)` | <pre>[<br> "us-west-2a",<br> "us-west-2b",<br> "us-west-2c"<br>]</pre> | no |
| <a name="input_coredns_version"></a> [coredns\_version](#input\_coredns\_version) | You should grab the appropriate version number from: https://docs.aws.amazon.com/eks/latest/userguide/managing-coredns.html | `string` | `"v1.10.1-eksbuild.2"` | no |
| <a name="input_csi_driver_version"></a> [csi\_driver\_version](#input\_csi\_driver\_version) | You should grab the appropriate version number from: https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/CHANGELOG.md | `string` | `"v1.21.0-eksbuild.1"` | no |
| <a name="input_csi_driver_version"></a> [csi\_driver\_version](#input\_csi\_driver\_version) | You should grab the appropriate version number from: https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/CHANGELOG.md | `string` | `"v1.22.0-eksbuild.2"` | no |
| <a name="input_eks_version"></a> [eks\_version](#input\_eks\_version) | The version of EKS to deploy | `string` | `"1.27"` | no |
| <a name="input_iam_role_to_assume"></a> [iam\_role\_to\_assume](#input\_iam\_role\_to\_assume) | The full ARN of the IAM role to assume | `string` | n/a | yes |
| <a name="input_node_pools"></a> [node\_pools](#input\_node\_pools) | node pool configurations:<br> - name (string): Name of the node pool. MUST BE UNIQUE! Recommended to use YYYYMMDD in the name<br> - node\_count (number): number of nodes to create in the node pool.<br> - instance\_type (string): Instance type to use for the nodes. ref: https://instances.vantage.sh/<br> - ami\_image\_id (string): AMI image ID to use for EKS worker nodes. This varies per region!! ref: https://github.com/awslabs/amazon-eks-ami/releases to find the AMI ID go to the console: https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#Images:visibility=public-images;search=amazon-eks-node-1.27-v20230703<br> - spot (bool): Enable spot instances for the nodes. DO NOT ENABLE IN PROD!<br> - disk\_size\_gb (number): Disk size in GB for the nodes.<br> - max\_pods (number): max pods that can be scheduled per node.<br> - ssh\_key\_pair\_names (list(string)): List of SSH key pair names to associate with the nodes. ref: https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#KeyPairs:<br> - kubernetes\_labels (map(string)): Map of labels to apply to the nodes. ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/<br> - kubernetes\_taints (list(object)): List of taints to apply to the nodes. ref: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | <pre>list(object({<br> name = string<br> node_count = number<br> instance_type = string<br> ami_image_id = string<br> spot = bool<br> disk_size_gb = number<br> max_pods = number<br> ssh_key_pair_names = list(string)<br> kubernetes_labels = map(string)<br> kubernetes_taints = list(object({<br> key = string<br> value = string<br> effect = string<br> }))<br><br> }))</pre> | <pre>[<br> {<br> "ami_image_id": "ami-032121bb9a4ea9359",<br> "disk_size_gb": 20,<br> "instance_type": "t3a.large",<br> "kubernetes_labels": {},<br> "kubernetes_taints": [],<br> "max_pods": 110,<br> "name": "default-pool",<br> "node_count": 1,<br> "spot": false,<br> "ssh_key_pair_names": []<br> }<br>]</pre> | no |
| <a name="input_node_pools"></a> [node\_pools](#input\_node\_pools) | node pool configurations:<br> - name (string): Name of the node pool. MUST BE UNIQUE! Recommended to use YYYYMMDD in the name<br> - node\_count (number): number of nodes to create in the node pool.<br> - instance\_type (string): Instance type to use for the nodes. ref: https://instances.vantage.sh/<br> - ami\_image\_id (string): AMI image ID to use for EKS worker nodes. This varies per region!! ref: https://github.com/awslabs/amazon-eks-ami/releases to find the AMI ID go to the console: https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#Images:visibility=public-images;search=amazon-eks-node-1.27-v20230703<br> - spot (bool): Enable spot instances for the nodes. DO NOT ENABLE IN PROD!<br> - disk\_size\_gb (number): Disk size in GB for the nodes.<br> - max\_pods (number): max pods that can be scheduled per node.<br> - ssh\_key\_pair\_names (list(string)): List of SSH key pair names to associate with the nodes. ref: https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#KeyPairs:<br> - kubernetes\_labels (map(string)): Map of labels to apply to the nodes. ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/<br> - kubernetes\_taints (list(object)): List of taints to apply to the nodes. ref: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | <pre>list(object({<br> name = string<br> node_count = number<br> instance_type = string<br> ami_image_id = string<br> spot = bool<br> disk_size_gb = number<br> max_pods = number<br> ssh_key_pair_names = list(string)<br> kubernetes_labels = map(string)<br> kubernetes_taints = list(object({<br> key = string<br> value = string<br> effect = string<br> }))<br><br> }))</pre> | <pre>[<br> {<br> "ami_image_id": "ami-0bce9ab1f1be3282a",<br> "disk_size_gb": 20,<br> "instance_type": "t3a.large",<br> "kubernetes_labels": {},<br> "kubernetes_taints": [],<br> "max_pods": 110,<br> "name": "default-pool",<br> "node_count": 1,<br> "spot": false,<br> "ssh_key_pair_names": []<br> }<br>]</pre> | no |
| <a name="input_peering_configs"></a> [peering\_configs](#input\_peering\_configs) | A list of maps containing VPC peering configuration details | <pre>list(object({<br> vpc_peering_connection_id = string<br> destination_cidr_block = string<br> }))</pre> | `[]` | no |
| <a name="input_region"></a> [region](#input\_region) | The AWS region to deploy into | `string` | n/a | yes |
| <a name="input_vpc_cidr_block"></a> [vpc\_cidr\_block](#input\_vpc\_cidr\_block) | The CIDR block for the VPC | `string` | `"10.65.0.0/26"` | no |
Expand Down
10 changes: 5 additions & 5 deletions docs/.header.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ module "captain" {
iam_role_to_assume = "arn:aws:iam::1234567890:role/glueops-captain-role"
source = "git::https://github.com/GlueOps/terraform-module-cloud-aws-kubernetes-cluster.git"
eks_version = "1.27"
csi_driver_version = "v1.21.0-eksbuild.1"
csi_driver_version = "v1.22.0-eksbuild.2"
vpc_cidr_block = "10.65.0.0/26"
region = "us-west-2"
availability_zones = ["us-west-2a", "us-west-2b"]
node_pools = [
# {
# "ami_image_id" : "ami-032121bb9a4ea9359",
# "ami_image_id" : "ami-0bce9ab1f1be3282a",
# "instance_type" : "t3a.large",
# "name" : "glueops-platform-node-pool-1",
# "node_count" : 3,
# "node_count" : 4,
# "spot" : false,
# "disk_size_gb" : 20,
# "max_pods" : 110,
Expand All @@ -43,10 +43,10 @@ module "captain" {
# ]
# },
# {
# "ami_image_id" : "ami-032121bb9a4ea9359",
# "ami_image_id" : "ami-0bce9ab1f1be3282a",
# "instance_type" : "t3a.large",
# "name" : "clusterwide-node-pool-1",
# "node_count" : 3,
# "node_count" : 4,
# "spot" : false,
# "disk_size_gb" : 20,
# "max_pods" : 110,
Expand Down
2 changes: 1 addition & 1 deletion tests/destroy-aws.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

# reference: https://github.com/GlueOps/scripts-teardown-aws-amazon-web-services
echo "Preform an AWS Cleanup with AWS Nuke"
wget https://github.com/rebuy-de/aws-nuke/releases/download/v2.23.0/aws-nuke-v2.23.0-linux-amd64.tar.gz && tar -xvf aws-nuke-v2.23.0-linux-amd64.tar.gz && rm aws-nuke-v2.23.0-linux-amd64.tar.gz && mv aws-nuke-v2.23.0-linux-amd64 aws-nuke
wget https://github.com/rebuy-de/aws-nuke/releases/download/v2.24.2/aws-nuke-v2.24.2-linux-amd64.tar.gz && tar -xvf aws-nuke-v2.24.2-linux-amd64.tar.gz && rm aws-nuke-v2.24.2-linux-amd64.tar.gz && mv aws-nuke-v2.24.2-linux-amd64 aws-nuke
./aws-nuke -c aws-nuke.yaml --no-dry-run --force
10 changes: 5 additions & 5 deletions tests/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ module "captain" {
iam_role_to_assume = "arn:aws:iam::761182885829:role/glueops-captain"
source = "../"
eks_version = "1.27"
csi_driver_version = "v1.20.0-eksbuild.1"
csi_driver_version = "v1.22.0-eksbuild.2"
vpc_cidr_block = "10.65.0.0/26"
region = "us-west-2"
availability_zones = ["us-west-2a", "us-west-2b"]
node_pools = [
# {
# "ami_image_id" : "ami-032121bb9a4ea9359",
# "ami_image_id" : "ami-0bce9ab1f1be3282a",
# "instance_type" : "t3a.small",
# "name" : "glueops-platform-node-pool-1",
# "node_count" : 3,
# "node_count" : 2,
# "spot" : false,
# "disk_size_gb" : 20,
# "max_pods" : 110,
Expand All @@ -28,10 +28,10 @@ module "captain" {
# ]
# },
# {
# "ami_image_id" : "ami-032121bb9a4ea9359",
# "ami_image_id" : "ami-0bce9ab1f1be3282a",
# "instance_type" : "t3a.small",
# "name" : "clusterwide-node-pool-1",
# "node_count" : 3,
# "node_count" : 2,
# "spot" : false,
# "disk_size_gb" : 20,
# "max_pods" : 110,
Expand Down
4 changes: 2 additions & 2 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ variable "region" {

variable "csi_driver_version" {
type = string
default = "v1.21.0-eksbuild.1"
default = "v1.22.0-eksbuild.2"
description = "You should grab the appropriate version number from: https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/CHANGELOG.md"
}

Expand Down Expand Up @@ -84,7 +84,7 @@ variable "node_pools" {
name = "default-pool"
node_count = 1
instance_type = "t3a.large"
ami_image_id = "ami-032121bb9a4ea9359"
ami_image_id = "ami-0bce9ab1f1be3282a"
spot = false
disk_size_gb = 20
max_pods = 110
Expand Down

0 comments on commit fe15de5

Please sign in to comment.