All Posts

  • Published on
    OpenSCAP으로 Ubuntu20.04 이미지를 사용하는 가상서버의 취약점 리포트를 만들어보고, 보고된 취약점이 패치된 커널 버전으로 업그레이드 하여 해당 이슈를 해결해보았다. 이렇게 업그레이드 된 커널과 패키지들이 정상적으로 작동하는지 확인하고 사용할 수 있는 파이프라인을 만드는 것도 나중에 고민해봐야겠다.
  • Published on
    Pytorch를 컨테이너로 띄우고 GPU를 사용하고 싶었다. 따라서 Docker container에서 NVIDIA GPU를 사용할 수 있도록 셋팅을 해보았다. 그리고 최종적으로 Kubernetes에서 GPU hardware를 사용할 수 있도록 nvidia device plugin을 DaemonSet으로 띄우고 Pod를 실행해보았다.
  • 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단계에 내용들을 적용하여 다시 시도해본다.