테스트를 위해 작은 클러스터를 만드는 경우가 많습니다. kind를 이용해 멀티 노드 클러스터를 만드는 간단한 명령어를 정리합니다. 3개의 컨트롤 플레인, 5개의 워커노드를 구성하는 명령어 입니다. YAML을 저장하고 불러올 필요없이 STDIN 방식으로 간편하게 만들 수 있습니다. 다음 명령어를 한번에 실행해주세요: KIND_CLUSTER_NAME="cluster-3-5"cat 실행 결과는 다음과 같습니다. kind에서 클러스터의 이름은 `cluster-3-5`이고, 쿠버네티스에서 컨텍스트의 이름은 `kind-cluster-3-5` 입니다. 기본적으로 kind에서 클러스터를 활성화하면 컨텍스트가 전환됩니다. 다시 전환하기 위해서는 다음 명령어를 이용하세요. # using kubectlkubectl..
차트를 로컬에 내려받기 위해 사용하는 `helm pull` 명렁어에 대한 짧은 지식 정리입니다. 헬름 차트를 내려받을 때 두 가지 방식을 사용합니다. 간단히 정리하겠습니다. ⚓️ 1. 헬름 차트 레지스트리의 경우헬름에서 제공하는 기존 방식입니다. 차트를 추가해야 내려받을 수 있습니다. nginx-ingress를 예시로 하면 다음과 같이 pull 할 수 있습니다.helm repo add nginx https://helm.nginx.com/stablehelm pull nginx/nginx-ingress --untar ⚓️ 2. OCI 레지스트리의 경우Open Container Initiative(OCI) 규격은 원격 리포지토리의 특정 차트를 바로 지칭하는 방식입니다. 쉽게 말하면 `helm repo ..
AWS re:Invent 2024에서 소개된 EKS 하이브리드 노드를 소개합니다. AWS와 온프레미스 각각의 장점을 활용할 수 있는 하이브리드 클러스터 솔루션입니다. AWS EKS Anywhere, Outposts와 함께 제가 기다렸던 기능인데요. 이번에 소개된 하이브리드 노드는 일반 데스크탑도 EKS에 동적으로 추가할 수 있는, 좀 더 유연한 하이브리드 클러스터를 구성할 수 있는 솔루션입니다. 다음 AWS 업무에서 가장 먼저 도입을 검토해보고 싶은 기능입니다. 기존 기능들 보다 사용성이 좋을 것으로 기대하는 하이브리드 노드를 리뷰해보겠습니다. ✨ 1. 소개: EKS 하이브리드 노드올해 AWS Summit Seoul 2024에서 AWS 직원이 곧 기존과는 다른 형태의 EKS 하이브리드 신기능이 ..
이어서 호머를 이용해 대시보드를 만들어 볼 겁니다. 인그레스된 쿠버네티스 서비스에 접근하는 대시보드 인데요. 이는 서비스의 상태를 파악하는 모니터링과, 분산된 인그레스를 한 곳에 모아 편하게 접근할 수 있는 포털의 기능을 함께 수행합니다. 포털로 사용하는 대시보드의 장점은 개발자, 사용자에게 모두 좋은 접근성을 제공한다는 점 입니다. 이 블로그에서는 호머의 설치법과 git을 이용한 대시보드 구성에 대해 살펴보겠습니다. 대신 쿠버네티스의 오퍼레이터 패턴을 이용하여 설치하겠습니다. ✨ 소개호머에 대한 소개는 이전 블로그인 '🍩 호머(Homer): YAML로 만드는 간편 대시보드 도구를 소개합니다'를 참고해 주세요. 설치법은 공식문서에 있는 설치법을 따라하겠습니다. 호머를 설치하면 이런 모습입니다..
이전 포스팅에서 GitOps를 위한 Argo CD 소개와 설치, 그리고 App of Apps 패턴 사용법을 살펴보았습니다. 이 포스팅에서는 git 리포지토리를 좀 더 활용해보겠습니다. 아래에 보이는 CRD 처럼 Argo CD App에 헬름 차트 리포지토리를 직접 명시할 경우가 있습니다. 이 때 Argo CD는 사용자 대신 원격 저장소로부터 차트를 캐싱하여 대상 쿠버네티스에 배포하게 됩니다. 이럴 경우, 관리가 단순해지는 장점이 있는 대신 두 가지 단점이 있습니다: `1. 차트 템플릿을 커스텀 할 수 없습니다`, `2. 원격 저장소가 다운될 경우에 배포를 갱신할 수 없습니다`. 이 단점을 해결하기 위해 원격 차트도 함께를 관리하는 방법이 있습니다. 이 포스팅에서는 원격 차트를 커스텀 차트와 GitOps로 ..
GitOps는 버전 관리 도구인 git 이용해 DevOps를 지원하는 방법입니다. 쉽게 표현하면 코드를 git에 저장해두고 코드에 써 있는 대로 원하는 동작을 수행하는 것 입니다. 쿠버네티스에서는 git 코드 기반으로 선언적으로 리소스(인프라, 서버, 권한 등)를 동기화하고, 그 코드는 관리자들의 협업을 통해 관리하는 방법입니다. 따라서 관리자의 로컬 환경의 리소스가 아닌, 팀에서 함께 관리하는 공개 리소스를 운영할 수 있습니다. 이 블로그에서는 쿠버네티스를 위한 GitOps 도구인 Argo CD에 대해 소개합니다. 이 포스팅은 k8s, helm 사용법을 알고 계시다면 읽기 편합니다! ✨ 소개DevOps에서 리소스 관리 및 배포를 하는 방식은 크게 두 가지가 있습니다. 하나는 '직접 관리' 하는 방..