diff --git a/modules/eks/bootstrap.sh b/modules/eks/bootstrap.sh index a1815d0..6ce742a 100644 --- a/modules/eks/bootstrap.sh +++ b/modules/eks/bootstrap.sh @@ -24,14 +24,15 @@ fi # Create physical volumes for device in "${SSD_NVME_DEVICE_LIST[@]}"; do - pvcreate -f "$device" + mkswap "$device" + swapon "$device" done -# Create volume group -vgcreate instance-store-vg "${SSD_NVME_DEVICE_LIST[@]}" +echo "Disk setup completed" -# Display results -pvs -vgs +modprobe zram +zramctl /dev/zram0 --algorithm zstd --size "$(($(grep -Po 'MemTotal:\s*\K\d+' /proc/meminfo)/2))KiB" +mkswap /dev/zram0 +swapon --discard --priority 100 /dev/zram0 -echo "Disk setup completed" +echo "ram setup completed" diff --git a/modules/eks/main.tf b/modules/eks/main.tf index 2020095..39526d2 100644 --- a/modules/eks/main.tf +++ b/modules/eks/main.tf @@ -34,17 +34,32 @@ module "eks" { labels = { Environment = var.environment GithubRepo = "materialize" - "materialize.cloud/disk" = var.enable_disk_setup ? "true" : "false" + "materialize.cloud/disk" = "false" "workload" = "materialize-instance" } - cloudinit_pre_nodeadm = var.enable_disk_setup ? [ + cloudinit_pre_nodeadm = [ { content_type = "text/x-shellscript" content = local.disk_setup_script - } - ] : [] - + }, + { + content_type = "application/node.eks.aws" + content = <<-EOT + --- + apiVersion: node.eks.aws/v1alpha1 + kind: NodeConfig + spec: + kubelet: + config: + failSwapOn: false + featureGates: + NodeSwap: true + memorySwap: + swapBehavior: LimitedSwap + EOT + }, + ] } }