이번 블로그 글은 KANS(kubernetes Advanced Networking Study) 에서 발표한 EKS cluster Upgrade 를 terraform 으로 어떻게 진행하는지에 대한 디테일을 담고 있다. Terraform github repository 를 어떻게 운용하고 있는지, Module 을 어떤것을 사용하는지, Upgrade 를 어떻게 하고 있는지에 대한 좀 더 자세한 내용과, 관련된 자료를 공유를 진행하려고 한다.
사내에서는 Terraform 을 이용한 EKS Upgrade 를 진행하고 있다.
Terraform 이란? → 간단하게 말해서 Cloud Infrastructure 를 Code 로 관리할 수 있게 도와주는 Tool https://www.44bits.io/ko/keyword/terraform
Terraform 은 다양한 Provider 를 가지고, 여러 vendor 사들을 지원하는데, 그중에 AWS, Kubernetes Provider 를 통해 EKS cluster 를 Upgrade 진행하고 있다.
추가적으로, Terragrunt 라는 Terraform wrapper Tool 을 사용해서, Terraform 코드의 중복화를 최대한 막고 있다.
terragrunt
를 사용하고 있는 이유는 terraform 특성 상 Module 화를 진행하더라도 남아 있는 중복 코드가 있기 때문이다.사내에서는 Terraform-kubernetes
라는 git repo 를 통해, kubernetes 관련 Infrastructure Code 를 관리하고 있다.