[k8s] GKE Ephemeral Storage 분석

Kubernetes에는 데이터를 보관하기 위한 볼륨으로 다양한 방안들이 있지만 이 중 Pod와 생명주기가 동일한 경우 즉, Pod가 죽을때 데이터가 휘발돼도 문제없는 경우 ehemeral-storage(임시 볼륨)를 많이 쓴다. 기본적으로 pod는 볼륨 마운트 설정이 없으면 모든 파일은 임시 볼륨을 사용한다. 볼륨 마운트 설정이 없는 pod에 들어가서 파일들을 만든다면 해당 pod의 워커노드에 용량을 쓴다는 얘기이다. 서비스의 성격에 따라 다르지만, 서비스에서 … Read more

[Golang] 늘 헷갈리는 포인터

학부생 시절, C++을 배우면서 시험 중 제일 힘들었던 항목이 포인터가 아니였을까 싶다. ‘*’ 이 표시가 어찌나 나를 헷갈리게 하던지… 지금와서야 포인터의 중요성을 깨닫고 있다. 일단 포인터를 배우기 전에 구조체, 일반 함수, 메서드의 개념을 정리해봤다. 위의 일반함수와 메서드의 쓰임새는 GPT님께서 정리해주셨다. 사용 기준 메서드 (func (h Human) methodName()) 일반 함수 (func functionName()) 구조체의 필드를 다루는가? ✅ … Read more

[Golang] 1부터 배우는 Golang

어느정도 Python은 다룰 수 있으니 k8s와 Docker의 기반이 Golang인 만큼 Golang을 통해 k8s의 Controller를 개발하고 싶은 마음이 굴뚝같았다. 생각만해서는 아무것도 못 이루기에 다짜고짜 Golang을 기초부터 배워보고자 한다. http://golang.site/ 주로 위의 사이트를 통해 기초 및 예제들을 보면서 공부하고 있다. 여기서 독특했던점은 go에서 변수를 설정하는 부분이였다. 위와 같은 규칙이 있었고, Java를 몰라서 이게 일반적인 부분인지는 모르겠다. 변수와 … Read more

[k6] k6-operator 설치

Kubernetes에서 서비스를 운영하기 전에는 필수적으로 거쳐야 할 단계가 성능테스트, 부하테스트라고 생각한다. 다만 성능테스트랑 부하테스트 이 둘을 제대로 해본 적이 없는 나에게는 큰 난제로 다가왔다. 일단은! 테스트 Tool을 정하는 과정에서 전통적인 JMeter는 호기심이 없었고, Python 기반인 Locust나 JS기반인 k6가 좀 끌렸다. Locust랑 k6는 둘다 GitHub에 별도 많은 인기있는 Tool들이지만 Grafana랑 뗄레야 뗄 수 없는 관계인 나에게는 … Read more

[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 명령어로 진행되는 시험인 만큼 충분한 도움이 될 것이라고 판단했다. 각 챕터별로 나오는 연습문제들을 풀어보고 이에 대한 나만의 이해법을 작성하면서 계속 공부해야겠다.