k8s
-
기존에는 EKS에서 노드 그룹을 관리 위해서는 Cluster-Autoscaler를 이용하여 Autoscaling 그룹을 조정하여 운영해왔습니다. 이럴 경우 몇가지 문제가 발생 됩니다. 1. Autoscaling 그룹은 인스턴스의 생성/삭제가 느리다. 2. Topology 이슈 3. 무조건 1대 이상의 인스턴스가 실행되어 있어야 한다. 1번의 경우 Autoscaling 그룹의 원하는 용량(desire)을 조정하여 스케일링 하므로, 동작이 매우 느린 단점이 있습니다. 2번의 경우 Autoscaling 그룹이 가용영역 별로 인스턴스의 수량을 균등하게 유지하려는 특성이 있기 때문에, PV가 있는 가용영역에 생성되지 않는 불상사(?)가 발생될 수 있습니다. 3번의 경우 빌드 서버로 예를 들면, 빌드 서버는 상시로..
Karpenter 설치 및 후기기존에는 EKS에서 노드 그룹을 관리 위해서는 Cluster-Autoscaler를 이용하여 Autoscaling 그룹을 조정하여 운영해왔습니다. 이럴 경우 몇가지 문제가 발생 됩니다. 1. Autoscaling 그룹은 인스턴스의 생성/삭제가 느리다. 2. Topology 이슈 3. 무조건 1대 이상의 인스턴스가 실행되어 있어야 한다. 1번의 경우 Autoscaling 그룹의 원하는 용량(desire)을 조정하여 스케일링 하므로, 동작이 매우 느린 단점이 있습니다. 2번의 경우 Autoscaling 그룹이 가용영역 별로 인스턴스의 수량을 균등하게 유지하려는 특성이 있기 때문에, PV가 있는 가용영역에 생성되지 않는 불상사(?)가 발생될 수 있습니다. 3번의 경우 빌드 서버로 예를 들면, 빌드 서버는 상시로..
2023.07.14 -
안녕하세요. 오늘은 Terraform Provider 중 Kubernetes를 설정하는 법에 대해서 간단하게 가이드해보고자 합니다. 준비물 : kubectl에서 사용하는 config 파일 config파일에 내용은 다음처럼 구성되어 있습니다. apiVersion: v1 clusters: - cluster: certificate-authority-data: base64 encoding server: https://server ip:port name: cluster.local contexts: - context: cluster: cluster.local user: kubernetes-admin name: kubernetes-admin@cluster.local current-context: kubernetes-..
Terraform Kubernetes Provider 설정하기 (1)안녕하세요. 오늘은 Terraform Provider 중 Kubernetes를 설정하는 법에 대해서 간단하게 가이드해보고자 합니다. 준비물 : kubectl에서 사용하는 config 파일 config파일에 내용은 다음처럼 구성되어 있습니다. apiVersion: v1 clusters: - cluster: certificate-authority-data: base64 encoding server: https://server ip:port name: cluster.local contexts: - context: cluster: cluster.local user: kubernetes-admin name: kubernetes-admin@cluster.local current-context: kubernetes-..
2020.11.12 -
안녕하세요. 이번 포스팅은 지난 Blue/Green 배포에 이어서 Canary 배포를 하는 방법에 대해서 가이드 하고자 합니다. Canary 배포는 기존에 배포된 서비스에 신규 서비스를 한꺼번에 배포/교체를 진행하지 않고 소량의 Pod만 일시적으로 배포하는 방식입니다. Canary 배포를 함으로서, 신규 서비스의 영향도나 반응 체크등을 할 수 있고 문제 시 소량 배포된 Pod만 정리하면 되기 때문에 편의성이 있습니다. 해당 배포 방식도 Kubernetes에서 Deployment만으로 배포가 가능하지만 Argo CD를 이용하는 방법에 대해 알아봅니다. 사전 준비 사항 * Argo CD 설치 * Argo Rollouts 설치 먼저 배포를 위해 아래의 코드를 사용하겠습니다. apiVersion: argopro..
Argo CD를 이용한 Canary 배포 (4)안녕하세요. 이번 포스팅은 지난 Blue/Green 배포에 이어서 Canary 배포를 하는 방법에 대해서 가이드 하고자 합니다. Canary 배포는 기존에 배포된 서비스에 신규 서비스를 한꺼번에 배포/교체를 진행하지 않고 소량의 Pod만 일시적으로 배포하는 방식입니다. Canary 배포를 함으로서, 신규 서비스의 영향도나 반응 체크등을 할 수 있고 문제 시 소량 배포된 Pod만 정리하면 되기 때문에 편의성이 있습니다. 해당 배포 방식도 Kubernetes에서 Deployment만으로 배포가 가능하지만 Argo CD를 이용하는 방법에 대해 알아봅니다. 사전 준비 사항 * Argo CD 설치 * Argo Rollouts 설치 먼저 배포를 위해 아래의 코드를 사용하겠습니다. apiVersion: argopro..
2020.10.22 -
안녕하세요. 이번에는 Argo CD를 이용한 Blue/Green 배포 방법에 대해서 알아보겠습니다. Blue/Green 배포란? Blue-Green 배포는 애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델입니다. 이때 두 버전 모두 프로덕션 환경에서 실행 상태를 유지합니다. 이전 버전을 blue 환경으로, 새 버전은 green 환경으로 부를 수 있습니다. 프로덕션 트래픽이 blue에서 green으로 완전히 이전되면, blue는 롤백에 대비하여 대기 상태로 두거나 프로덕션에서 가져온 후 업데이트하여 다음 업데이트의 템플릿으로 삼을 수 있습니다. 이와 같은 지속적 배포 모델에는 단점이 있습니다. 환경에 따라서..
Argo CD를 이용한 Blue/Green 배포 (3)안녕하세요. 이번에는 Argo CD를 이용한 Blue/Green 배포 방법에 대해서 알아보겠습니다. Blue/Green 배포란? Blue-Green 배포는 애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델입니다. 이때 두 버전 모두 프로덕션 환경에서 실행 상태를 유지합니다. 이전 버전을 blue 환경으로, 새 버전은 green 환경으로 부를 수 있습니다. 프로덕션 트래픽이 blue에서 green으로 완전히 이전되면, blue는 롤백에 대비하여 대기 상태로 두거나 프로덕션에서 가져온 후 업데이트하여 다음 업데이트의 템플릿으로 삼을 수 있습니다. 이와 같은 지속적 배포 모델에는 단점이 있습니다. 환경에 따라서..
2020.10.22 -
안녕하세요. 오랜만의 포스팅입니다. 이번 글은 지난 Argo CD 설치에 이어서 배포를 하는 방법에 대해 작성하였습니다. 먼저 Argo CD의 페이지에서 좌측 메뉴->Settings->Repositories로 이동합니다. 두 가지의 인증 방식이 나오는데 본 가이드에서는 https를 사용하도록 하겠습니다. 아래와 같이 추가할 Repository의 URL과 계정 정보를 입력 후 상단의 Connect 버튼을 클릭합니다. * 만약에 비공개 Repository가 아니라면, 인증정보를 입력하지 않아도 됩니다. 정상적으로 추가가 완료되면, 아래와 같이 Successful이 나오게 됩니다. 이제 배포를 위한 Github Repository 추가가 완료되었습니다. 배포를 위한 Application 설정을 진행하겠습니다...
Argo CD를 이용한 배포 (2)안녕하세요. 오랜만의 포스팅입니다. 이번 글은 지난 Argo CD 설치에 이어서 배포를 하는 방법에 대해 작성하였습니다. 먼저 Argo CD의 페이지에서 좌측 메뉴->Settings->Repositories로 이동합니다. 두 가지의 인증 방식이 나오는데 본 가이드에서는 https를 사용하도록 하겠습니다. 아래와 같이 추가할 Repository의 URL과 계정 정보를 입력 후 상단의 Connect 버튼을 클릭합니다. * 만약에 비공개 Repository가 아니라면, 인증정보를 입력하지 않아도 됩니다. 정상적으로 추가가 완료되면, 아래와 같이 Successful이 나오게 됩니다. 이제 배포를 위한 Github Repository 추가가 완료되었습니다. 배포를 위한 Application 설정을 진행하겠습니다...
2020.10.13 -
Argo CD 란 무엇입니까? Argo CD는 Kubernetes를위한 선언적인 GitOps 연속 전달 도구입니다. (번역) What is Argo CD? Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Official repostory 발췌 (출처 : https://github.com/argoproj/argo-cd) argoproj/argo-cd Declarative continuous deployment for Kubernetes. Contribute to argoproj/argo-cd development by creating an account on GitHub. github.com GitOps를 구현하고 Kube..
Argo CD 설치 (1)Argo CD 란 무엇입니까? Argo CD는 Kubernetes를위한 선언적인 GitOps 연속 전달 도구입니다. (번역) What is Argo CD? Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Official repostory 발췌 (출처 : https://github.com/argoproj/argo-cd) argoproj/argo-cd Declarative continuous deployment for Kubernetes. Contribute to argoproj/argo-cd development by creating an account on GitHub. github.com GitOps를 구현하고 Kube..
2020.06.21