[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

[Docker] k8s Image digest값 사용

쿠버네티스를 구축하면서 GCP 관계자분들에게 배울 수 있는 Deep-Dive 라는 일주일 교육(?)을 들을 수 있었다. 교육이라지만 단순히 이론이 아닌 실제 App들을 준비해서 이를 k8s에 올려보고 시행착오를 풀어나가는 과정을 같이 수행하는 것이다. 이 교육 중 한가지를 이제 적용해보고자 한다. Kubernetes docker의 보안 현재 Container Image Registry로 GCP의 Artifact Registry를 사용중이고, App:30 과 같은 Image 태그에 빌드 번호를 … 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

[k8s] CKAD 자격증 연습문제 – 1

위 게시글에 있는 Git에 있는 연습문제들을 간단하게 풀어보면서 어려운 문제들이나 헷갈리는 문제들은 나만의 이해법으로 작성하면서 공부해보겠다. 연습문제 위의 문제들이 실제 CKAD 문제들이랑 유사할지는 모르겠으나, 대부분 kubectl 명령어로 진행되는 시험인 만큼 충분한 도움이 될 것이라고 판단했다. 각 챕터별로 나오는 연습문제들을 풀어보고 이에 대한 나만의 이해법을 작성하면서 계속 공부해야겠다.

[Vault] Vault helm으로 설치하기

Vault를 helm으로 설치하는 것 자체는 그리 어렵지 않았다. 다만 설정을 해주는 부분들과 values.yaml을 파악하는 부분이 조금 어색했다. 일단 내가 설치한 방식대로 기록했다. Vault 설치하기 먼저 hashicorp의 repo를 추가해준다. values.yaml을 다운받고 수정해주면 되는데, 여타 helm들이 그렇듯 values를 어떻게 요리하냐에 따라 활용성이 크게 달라진다. 먼저 vault는 다른 Worker Node에 기동되길 원해서 tolerations를 설정했다. Kubernetes에 올리는 만큼 HA를 … 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

[ArgoCD] Fail: Status code 400 is not in the accepted range: 100:399

이전에 작성했던 ArgoCD를 API로 조작하던 중, 특정 Application을 sync하거나 수정할 때에 위의 에러를 많이 마주해왔다. 에러를 보면 400 응답값을 받은 것으로 보인다. 하지만 400 응답코드는 흔히 말하는 400 Bad Request인데, 이를 연관짓기가 쉽지 않았다. 특히나 다른 Application에는 똑같은 코드로도 API가 정상응답이 오고, 특정 Application에만 400응답이 오는게 너무 미심쩍었다. 어려운 문제일 수록 해결법은 간단하다. 사실 위의 … Read more