All Posts

  • Published on
    aws-ebs-csi-driver 소스코드를 보고 csi driver가 하는 역할을 이해해보았다. 크게 Controller plugin과 Node plugin으로 구성되어 있고, 다양한 sidecar container들이 존재한다. 이 sidecar container들이 Volume을 생성하고, 노드에 부착하고, Host 혹은 container directory에 mount하는 것을 진행한다. 이과정에서 CSI driver로 cloud vendor마다 다른 로직으로 그들의 volume을 제어하게 된다. 네이버 클라우드에서 storage가 처음 생성될 때 서버에 부착이 되어야만 하는 제약사항이 있어서, PVC로 PV 동적 할당을 할 때 volumeBindingMode이 Immediate이면 자동으로 Node에 부착이 된다.
  • Published on
    Lets encrypt로 인증서를 발급하여 이것을 Naver Cloud Certificate Manager에 등록하려고 하였다. certbot을 통해서 인증서를 발급받고 해당 파일들을 Certificate manager에 등록하려고 하니 에러가 발생하였다. 이번 블로그 포스팅은 두 가지의 에러를 해결한 삽질기이다.
  • Published on
    Kubeadm으로 만든 Kubernetes Cluster에서 AWS ECR를 private container image repository를 사용하고자 하였다. private repository를 접근하기 위해서 Kubernetes 1.26부터 stable feature로 제공하는 kubelet crendential provider를 사용하였다.
  • Published on
    인터넷에서 S3의 file을 다운로드하면 데이터 전송 비용이 발생한다. 서울 리전 기준으로는 처음 월 10TB까지는 GB당 0.126USD 요금이 발생한다. 이렇게 발생한 금액을 S3 bucket별로 나눠서 볼려면 어떻게 해야 할까? AWS Cost and Usage Report 서비스를 사용하면 세부적인 사용내역을 얻을 수 있고, 그 데이터를 분석하면 bucket별로 인터넷 데이터 전송에 의해 발생한 금액을 산출할 수 있다.
  • Published on
    <콜드 스타트> 책은 네트워크 상품이 어떻게 성장하고, 성장과 함께 어떠한 단계를 경험할 수 있는지 설명한다. 새로운 네트워크 상품은 네트워크를 처음부터 구축해야 되는 콜드 스타트 문제를 가진다. 작지만 밀도가 높은 원자적 네트워크를 구성하여 초기 콜드 스타트 문제를 해결해야 하고, 이것은 초기 생존과 연관된다. 원자적 네트워크를 바탕으로 확장하고 네트워크가 성장하면 네트워크 효과를 가질 수 있다. 동일한 기능을 모방하여 도전하는 경쟁자가 생긴다고 해도 네트워크 효과가 방어막이 될 수 있다.
  • Published on
    오늘 나를 돌이켜보면서 난해만 문제들을 정의하고 그것들을 해결해나가는 실질적인 경험이 너무 부족하다는 것을 느꼈다. "나는 진짜 어려운 문제를 해결한 적이 없었는데... 이걸 어려운 문제라고 할 수 있을까...?" 이러한 고민에 주저하지 않고 당당히 말할 수 있는 경험들을 앞으로라도 만들어 나가야겠다.
  • Published on
    CRD와 Custom Controller를 사용하는 프로젝트에 대해서 더 알고 싶은 상황에서, External Secrets이라는 프로젝트를 발견하게 되었다. External Secrets는 Vault, AWS secret manager와 같이 secret 관리하는 Tool들과 Kubernetes secret을 CRD을 통해서 sync할 수 있게 해준다. 이 프로젝트는 kubebuilder를 사용하였는데, 소스코드를 보면서 어떻게 구현한 건지 자세히 살펴보았다.
  • Published on
    책 "훅(Hooked)"에서 포그 행동모델을 알게 되었다. 이번에는 포그가 쓴 책 "습관의 디테일(Tiny Habits)"을 읽어 보게 되었다. 내가 과거에 습관으로 잘 형성했던 행동들을 행동 모델 7단계 관점에서 생각을 해보았다. 그리고 내가 습관화 하지 못했던 행동들에 대해서도 생각해보면서 다시 한번 어떻게 꾸준히 할 수 있을까 고민해보았다. 알고리즘 꾸준히 공부하기는 내가 습관화 하고 싶었던 것 중에 하나였는데 매번 실패하는 행동이었다. 이번에 행동 모델 7단계에 내용들을 적용하여 다시 시도해본다.
  • Published on
    Calico에서 어떻게 CRD를 활용하는지 이해하기 위해서 Calico Opensource 버전의 깃헙 소스코드를 살펴보게 되었다. Calico archiecture에서 kube-controller 부분이 어떤 역할을 하는지 소스 코드를 통해서 이해할 수 있게 되었다. kube-controller들은 kubernetes native resource에 대한 변경을 calico data store와 sync해주는 역할을 하고 있다. 내가 사용하는 Minikbue Kubernetes Cluster에서는 Calico의 data store는 kubernetes로 설정되어 있기 때문에, CRD로 Calico data들이 저장되고 Felix가 이것을 watch하여 변화에 대해서 network rule을 업데이트 하게 된다.
  • Published on
    나의 집중력을 되찾고 싶은 마음에 책 <초집중>을 읽었다. 그리고 애 책의 저자중 한명이 과거에 쓴 <훅>도 읽게 되었다. <흑>은 2014년에 출간된 책으로 조금 오래된 책이지만, 사업모델이 습관에 의존한다면 이 책이 도움이 될거라는 설명에 읽어보게 되었다. 계기, 행동, 가변적 보상, 투자라는 키워드를 현재 내가 일하고 있는 프로덕트와 내가 한번 쯤 만들어보고 싶은 서비스와 연관지어서 생각해보는 시간을 가졌다. 그 과정에서 떠오른 아이디어도 PM분들과 공유해보았다.