분류 전체보기

잡담

지난 1년을 돌아보며 - 2022년 회고

2021년 회고 이후 두 번째 회고록이다. 지난 2022년을 돌아보며 내가 어떤 것을 성취했는지, 어떤 점이 아쉬웠는지 회고해보는 시간을 가져보고자 한다. 작년 한해는 새 회사로 이직했던 해이기도 해서 시간이 어떻게 흘렀는지 몰랐을 정도로 바쁜 해였다. 하지만 이렇게 바쁠 떄일수록 내가 정리하는 회고록이 과거의 경험을 견고하게 해주기 때문에 더욱 빛을 발할 것이라 생각한다. 내가 2022년에 세웠던 목표는 다음과 같다. 1. 기본에 충실하기 2. 다양한 지식을 경험해보기 이 두 가지 목표를 기반으로 2022년을 지내보고자 노력했다. 내가 이 목표들을 잘 지켜왔는지는 잘 모르겠지만, 지키려고 노력하고자 하는 그 과정에서도 얻을 수 있는 것들이 많다고 생각한다. 다음은 내가 목표를 달성하고자 하는 과정에서 ..

Devops

컨테이너 빌드 도구 선택을 위한 특성 및 성능 비교 (Kaniko, Buildah, Buildkit)

하이퍼바이저를 이용한 VM(Virtual Machine) 대신 호스트 OS를 cgorup과 namespace 기반으로 리소스와 파일시스템을 격리한 컨테이너 기술을 사용해 자원을 사용하는 시대가 왔습니다. 컨테이너 기술이 등장하면서 상태 저장을 위해 VHD 등을 사용하던 VM과 달리 컨테이너 이미지라는 새로운 이미지 유형을 이용해 OS 상태를 정의할 수 있게 되었는데요. 시간이 지나 컨테이너 기술을 표준화하는 OCI(Open Container Initiative)가 등장하고, 컨테이너들을 조율해주는 오케스트레이션 툴인 Kubernetes에 Dockershim 컨테이너 런타임이 제외되면서 다양한 컨테이너 빌드 도구가 등장하게 되었습니다. 이번 포스팅에서는 이렇게 등장한 컨테이너 빌드 도구들이 각각 어떤 특성..

Devops

Tekton 사용해보기 (5) Tekton에 Human Approval 기능을 추가해보자

본 포스팅은 "Tekton 사용해보기" 시리즈의 다섯번째 글입니다. 시리즈의 이전 글들은 아래 링크에서 확인할 수 있습니다. Tekton 사용해보기(4) GCP Terraform 인프라를 Validation하는 파이프라인 구축하기 Tekton 사용해보기(3) Tekton Dashboard에 OIDC를 기반으로 RBAC 적용하기 Tekton 사용해보기(2) Tekton으로 인프라를 자동 배포하는 Terraform Pipeline을 만들어보자 Tekton 사용해보기(1) Tekton으로 쿠버네티스에서 CI/CD 파이프라인을 구성해보자 Tekton은 컨테이너를 기반으로 다양한 기능을 추가할 수 있는 강력한 Opensource CI/CD 파이프라인 도구입니다. 본 시리즈의 이전 글들에서 Tekton의 다양한 기..

GCP

Google Cloud Platform에서 다양한 배포 전략을 구현해보자 (with terraform)

애플리케이션을 인스턴스에 서버에 배포하는 전략은 여러 가지 방법이 존재합니다. 기존 서비스의 다운타임을 최소화하면서 새 버전을 배포해야 하기 때문에 상황에 따라 올바른 배포 전략을 사용해야 하는데요. 그 중 블루그린 배포와 카나리 배포 전략은 클라우드 환경이 대중화되면서 쉽게 사용할 수 있게 되었습니다. 클라우드 환경에서는 리소스를 쉽게 증설할 수 있고, 그에 따라 새로운 버전을 빠르고 간편하게 배포할 수 있기 때문인데요. 특히 클라우드 공급자가 제공하는 Load Balancer 서비스를 이용하면 트래픽 라우팅을 손쉽게 구성할 수 있어 다양한 배포 방법을 이용할 수 있게 되었습니다. 이번 포스팅에서는 대표적인 클라우드 공급자 중 하나인 Google Cloud Platform에서 Load Balancer ..

Devops

Terraform으로 Replace없는 GCP Compute Instance 부트 디스크를 구성하는 방법

Terraform은 Hashicorp사에서 제공하는 IaC(Infrastructure as Code) 구현을 위한 인프라 배포 도구입니다. 현재 우리는 Terraform의 인프라 정의 코드를 사용해 다양한 환경에서 VM Instance, Disk, Storage 등의 인프라 리소스를 코드로써 배포할 수 있게 되었습니다. 이는 Google Cloud Platform 환경도 마찬가지인데요. Terraform은 코드를 GCP의 API와 상호작용 가능하게 해주는 Plugin인 Google Provider를 공식적으로 제공하고 있기 때문에 Google Cloud Platform의 인프라 또한 코드로 배포할 수 있습니다. GCP에서 Terraform을 통해 배포할 수 있는 인프라 리소스의 대표는 VM 서비스인 Co..

Devops

Tekton 사용해보기 (4) GCP Terraform 인프라를 Validation하는 파이프라인 구축하기

본 포스팅은 "Tekton 사용해보기" 시리즈의 네 번째 글입니다. 해당 시리즈의 첫 번째 글은 Tekton 사용해보기 (1) Tekton으로 쿠버네티스 CI/CD 파이프라인을 구성해보자 에서 볼 수 있습니다. 해당 시리즈의 두 번째 글은 Tekton 사용해보기 (2) Tekton으로 인프라를 자동 배포하는 Terraform Pipeline을 만들어보자 에서 볼 수 있습니다. 해당 시리즈의 세 번째 글은 Tekton 사용해보기 (3) Tekton Dashboard에 OIDC를 기반으로 RBAC 적용하기 에서 볼 수 있습니다. 이번 포스팅에서는 Tekton에서 Google Cloud Platform의 인프라를 Terraform으로 배포할 시 배포 코드에 대한 정책 검사, 즉 Validation을 수행하는..

Devops

Tekton 사용해보기 (3) Tekton Dashboard에 OIDC를 기반으로 RBAC 적용하기

본 포스팅은 "Tekton 사용해보기" 시리즈의 세 번째 글입니다. 해당 시리즈의 첫 번째 글은 Tekton 사용해보기 (1) Tekton으로 쿠버네티스 CI/CD 파이프라인을 구성해보자 에서 볼 수 있습니다. 해당 시리즈의 두 번째 글은 Tekton 사용해보기 (2) Tekton으로 인프라를 자동 배포하는 Terraform Pipeline을 만들어보자 에서 볼 수 있습니다. 이번 포스팅에서는 Tekton의 컴포넌트 중 하나인 Tekton Dashboard를 OIDC와 함께 연동해서 Kubernetes RBAC을 적용해보겠습니다. 현재 Tekton Dashboard에서 native하게 지원하지 않는 기능 중 한가지는 사용자에 따른 RBAC인데요. 따라서 Dashboard에 접속하는 사용자에 따라 접근할..

Devops

Tekton 사용해보기 (2) Tekton으로 인프라를 자동 배포하는 Terraform Pipeline을 만들어보자

본 포스팅은 "Tekton 사용해보기" 시리즈의 두 번째 글입니다. 해당 시리즈의 첫 번째 글은 Tekton 사용해보기 (1) Tekton으로 쿠버네티스 CI/CD 파이프라인을 구성해보자 에서 볼 수 있습니다. 이번 포스팅에서는 Tekton을 이용해서 Terraform으로 인프라를 자동 배포하는 파이프라인을 구성해보겠습니다. 저번 포스팅에서 소개했듯이 Tekton은 사용자가 자유롭게 취사선택할 수 있는 빌딩 블록을 제공하기 때문에 원하는 작업을 수행하는 파이프라인을 유연하게 구성할 수 있다는 장점이 있는데요. Terraform 파이프라인도 이러한 Tekton의 유연한 빌딩 블록의 장점을 활용해서 구성한 것이라 할 수 있겠습니다. 이번 Tekton 사용해보기의 두 번째 글을 통해서는 Tekton으로 Ter..

Devops

Tekton 사용해보기 (1) Tekton으로 쿠버네티스에서 CI/CD 파이프라인을 구성해보자

Tekton은 Linux Foundation과 CD Foundation 프로젝트의 일환으로 등장한 Cloud-native CI/CD Pipline 솔루션입니다. Tekton은 Kubernetes의 Extension으로 실행되기 때문에 기존 Kuberntes의 에코시스템을 그대로 활용하면서 사용할 수 있습니다. 이러한 점은 사용자에게 친숙한 Kubernetes 환경을 그대로 사용하면서 Tekton 파이프라인을 구성할 수 있게 해준다는 장점이 됩니다. 앞으로 Tekton을 사용해보는 여러 포스팅을 작성하고자 계획하고 있으며, 이 포스팅은 그 중 첫번째 글입니다. 특히 이번 포스팅에서는 이러한 Tekton을 어떻게 사용할 수 있는지, 시연 Demo와 사용 사례를 알아보도록 하겠습니다. 1. Tekton 소개 ..

Devops

GCP에서 Terraform을 사용하기 위한 Best Practice

본 포스팅에서는 GCP에서 Terraform을 사용하는 다양한 Best Practice에 대해서 알아보겠습니다. Terraform을 잘 사용하는 방법은 Naming convention같은 vendor specific하지 않은 분야도 있지만 서비스 어카운트의 위임이나 모듈 생성 부분같이 Google Cloud에서만 통용되는 분야도 존재하기 때문에 GCP에서 어떻게 Terraform을 사용해야 하는지 아는 것은 중요합니다. 그 외에 Google Cloud에서는 Cloud foundation 등 다양한 Terraform example 코드도 제공하고 있기 때문에, Terraform 이용자로써 Google Cloud에서 이용할 수 있는 것에는 무엇이 있는지 최대한 아는 것이 좋을 것입니다. 그러한 요지에서 이..

Seungwoo Lee
'분류 전체보기' 카테고리의 글 목록 (3 Page)