IaC with Terraform 21

Automate Provisioning EKS cluster with Terraform — Part 2

ZONGRU Li
Jun 26, 2023

在準備好VPC後,接著就要來準備建立EKS了

這邊我額外找到一些範例,未來可以參考:

Amazon EKS Terraform Workshop

Creating an EKS Cluster and Node Group with Terraform

最重要這邊還是要引用到Terraform官方網站能找到的EKS module:

LINK

然後就可以看到Terraform EKSmodule文件(LINK):

上述該頁面下也有很多文件連結及範例可以參照:

這邊特別注意到可以去到對應的Github看看範例:

LINK

實際撰寫EKS module相關tf檔:

首先先建立放置EKS module內容的tf檔案:

也就是這邊還要重新的init來下載TerraformRegistryEKS module

然後依序開始填入必要的參數

接著subnet,要從vpc那邊建置後的output取得其id,讓eks依據該id來建置

先來到VPC module的輸出頁面查找:

再來要定義Worker Nodes

之前有學到EKSWorker Node建立有三種方式:

  1. self-managed — EC2
  2. semi-managed — Node Group
  3. managed — Fargate

這邊我們選擇也滿有彈性的第二個Node Group方式

EKS module文件上的input頁面找到如下參數:

另外也能找到:

或是:

這邊就專注使用"eks_managed_node_groups"

但是如上都是空的,所以要找找範例

LINK

寫法如下(小心收費問題,沒有用就記得移除!):

實際建立相關Terraform資源

先執行一遍init下載EKS module:

#重新執行init指令觸使安裝eks module:
terraform init
#先查看plan:
terraform plan

很長...

可以看到有自動定義IAM相關設置,所以我們不用花太多時間定義:

然後就可以執行建置

#上面有看完plan後,可以直接建置:
terraform apply --auto-approve

過程大概需要10~15分鐘左右

依據邏輯來說,EKS就會依據VPC上定義的Region來建置

參考課程reference

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet