[Docker] Private Registry 구축하기 in k8s

Private Registry를 구축하게 된 이유는 딱 하나였다. 개발을 하면서 Docker의 Base Image들을 Docker hub에서 당겨오는데 이게 limit에 걸린 것 같다. 6시간내에 100번 당겨오면 정책에 걸리는 것 같은데 IP 기반으로 제한되기에, 장비 하나에서 많은 서비스들을 빌드하다보니 이렇게 된 것이다. 그렇다고 계속 IP를 바꾸기도 뭐하고, 6시간동안 가만히 있자니 뭐하고 해서 차라리 Private Registry를 구축해서 Docker Image를 넣어놓고 … Read more

[ArgoCD] 계정 생성 및 권한 설정

현재 나는 argocd를 argo/argo-cd v6.7.8 helm을 통해 설치한 상태이다. 확실히 helm을 통해서 설치하는게 편한 것 같긴 하지만 방대한 양의 values.yaml을 해석하고 컨트롤 하는 것은 쉽지 않다.. 기존에는 argocd에서 admin 계정을 통해서 사용하고 있었다. admin 계정 설정에 대한 건 다른 분들이 설명해주신게 많아서 수월하게 설정했다. 다만 admin말고도 개발자들이 접근해서 볼 수 있는 view권한만 가진 계정이 필요했기에 … Read more

[k8s] 2024 당근 테크밋업 후기 – 2 (CI/CD, 비용)

1편에 이어서 2편을 작성한다. CI/CD 현재 당근은 자사 CI/CD 서비스를 만들어 운영중에 있다. 다만 이 내용을 조금 더 여쭤보니 Back단에서 Argo Workflow를 위한 manifest파일들을 만들어준다고 한다. 어떤 분은 왜 굳이 CI/CD 서비스를 만들었냐고 물으시던데, 그 이유에 대한 건 당근의 성향인 것 같다. 자신들이 원하는 방향으로 만들면서 필요한 부분들을 채우기 위해 자사 서비스를 만든 것이 아닐까 … Read more

[k8s] 2024 당근 테크밋업 후기 – 1 (k8s, Kafka, Alert, Monitoring)

지인이 당근 테크밋업이라는 세미나를 알려줘서 세션들을 확인해보니 D플랫폼에 흥미가 많이 가게 됐다. D플랫폼의 세션들을 보자면 1~2개 세션 말고는 전부 흥미가 가는 세션들로만 이루어진 D플랫폼을 신청~2개 세션 말고는 전부 흥미가 가는 세션들로만 이루어진 D플랫폼을 신청하고 운 좋게 참석했다. 주변 지인 중 떨어진 분들도 있긴 했지만, DevOps와 유사한 D플랫폼은 생각보다 경쟁률이 낮은 것 같았다. 세션에 대한 내용은 … Read more

[Vault] k8s에서 사용되는 Vault 종류

기존에 DB 데이터 암호화/복호화에 사용되는 Key, Password들을 Vault에 저장을 해서 썼다. WAS들이 기동 시 Vault에 있는 값을 API를 통해 가져와서 사용하게끔 구축되어 있었다. 하지만 이제는 Kubernetes에 올라가 있는 Pod들이 Vault에 접근을 해야하기 때문에 Vault의 HA가 무엇보다 중요하게 느껴졌다. 고심하던 중, Kubernetes에서 Vault를 올려서 HA를 보장받자라는 생각으로 진행하게 되었다. Vault in k8s Kubernetes에서 올라가는 Vault에 대한 … Read more

[k8s] CKAD 자격증 준비

회사에서 연 1회 자격증이 필수로 되어있다. 자기계발에는 좋지만 막상 미루고 미루다 보면 생각보다 스트레스가 생기는… 하지만 따면 또 좋은… 매번 이런 딜레마에 빠진다. 이전까지는 Cloud 자격증을 땄었지만 이번에는 GKE를 사용하기에 k8s관련 자격증을 따고자한다. kubernetes를 이제 도입하고 있는 시점이기에 숙련도가 높은건 아니여서 CKAD도 공부를 좀 하면서 자격증을 따야할 것 같다. CKAD란? Certified Kubernetes Application Developer의 약자로 … Read more

[Kubernetes] ChartMuseum 설치하기

현업에서는 GKE를 사용하고 있어서 Helm Chart Repository를 당연하게 GCP Artifact Registry를 사용하려고 했다. 하지만 다른 tool과 이슈가 있어 다른 Repo를 찾고 있었다. artifact hub는 Private하려면 직접 구축해야할 것 같은데, 배보다 배꼽이 더 큰 느낌이 들었다. 그렇게 OpenSource를 뒤적거리던 중, ChartMuseum을 찾았다. ChartMuseum https://github.com/helm/chartmuseum 생각보다 많은 star 수에 놀랐는데, 채택하게된 이유로는 API 기반이며 UI를 추가 설치할 … Read more

[Kubernetes] VSCode virtualbox 연결하기

virtualbox로 만든 vm에 있는 minikube에 붙는 것이 목적이다. minikube 설치하는 방법은 아래의 링크를 참고하면 좋을 것 같다. VSCode virtualbox 연결하기 먼저 연결할 vm에 네트워크 설정에 들어가 어댑터 1번의 포트포워딩을 추가한다.(로컬 PC의 13222 port를 해당 장비의 22 port로 포워딩하는 규칙이다.) VSCode의 Remote-SSH로 위와 같은 config를 작성한다. 그 후 원격연결을 시도하면 SSH를 통해 해당 VM에 붙는 것을 … Read more

[Kubernetes] minikube 설치 in Windows

Windows에 minikube 설치를 필요로 한 계기는 딱 하나였다. 개발자들이 로컬 PC에서 개발을 할 때, kubernetes의 환경을 미리 접하면 좋을 것 같다라는 의견이 시작이였다. 물론 개인마다 k8s를 줄 수 있다면 좋겠지만, 여러 문제들이 있기에 로컬 PC에 minikube를 설치하여 진행하기로 한 것이다. 개발자들의 PC는 MacOS가 대부분이지만 Windows도 있고, 내 컴퓨터도 마찬가지기에 Windows로 진행을 해보기로 했다. VirtualBox 설치하기 … Read more

[k8s] Kubernetes 서비스 타입 (ClusterIP, NodePort, LoadBalancer, ExternalName)

쿠버네티스의 서비스 타입을 알아보기 전에, 서비스가 무엇을 의미하는지부터 알아보겠습니다. 쿠버네티스 서비스란? 쿠버네티스에서의 서비스는 pod들을 통해 실행되고 있는 어플리케이션을 네트워크에 노출시키는 방법이라고 볼 수 있다. 예를 들어, pod가 다른 pod를 찾을 때, IP나 호스트 이름같은 경우는 pod의 일회성 특징 때문에 언제든지 사라질 수 있다. 그렇기에 변하지 않는 진입점인 서비스라는 것을 통하여 해결을 하게 된다. 서비스는 크게 … Read more