헤츠너 쿠버네티스 설치
개인 프로젝트를 호스팅할 인프라 구축
hetzner
헤츠너라는 서비스에 쿠버네티스를 설치했다.
hetzner-k3s를 사용했다. 다른 라이브러리들도 있었지만, 이게 제일 쉬웠다.
헤츠너는 가격으로 유명한 인프라 서비스 업체다.
많이 찾아봤는데, 여기만큼 저렴하면서 이정도 신뢰도가 있는 업체는 없다.
이전에 인프라를 구축했던 vultr도 꽤 저렴하지만, 헤츠너와 비교하면 초라하다.
vultr에서 4cpu 8gb vps는 월 40달러인데, 헤츠너는 월 18달러다. 절반도 안된다.
이것도 클라우드 기준이고, 서버 임대식으로 찾아보면 월 40달러대에 12vcpu 64gb 사양의 서버를 이용할 수 있다.
물론 서버 임대는 유럽 리전에만 가능하다. 한국에서 레이턴시가 너무 늘어날까봐 서버임대식은 사용하지 않았다.
헤츠너에는 한국 리전은 없고 미국서부(힐스보로) 리전이 그나마 가장 나은 리전이다. 핑은 100~150ms정도 나온다.
웹사이트를 하나 띄우고 접속해봐도 200ms 내에 접속 가능했다. 체감상 꽤 나쁘지 않다.
클라우드플레어 무료플랜을 쓰면 대부분 미국 cdn으로 처리된다. 서버도 미국서부에 두는게 서울보다 오히려 더 나을 수도 있다.
이번에 hetzner-k3s로 구축한 현재 내 인프라는 이러하다.
마스터 노드 1대 워커 노드 2대 모두 3cpu 4gb램 사양으로 각각 월 10달러, 로드밸런서 월 5달러. 총 35달러다.
합쳐서 9cpu 12gb램인데 35달러면 진짜 싸긴하다.
문제는 관리형 데이터 서비스가 없다.
쿠버네티스 볼륨에다 데이터베이스를 올릴 수 밖에 없어 보인다.
zalando/postgres-operator와 같은 서비스를 알아보고 있다.
쿠버네티스 설치 에러 관련
아래는 오늘 쿠버네티스 설치하면서 헤맸던 부분이다.
1. 시크릿은 네임스페이스 단위로 격리된다.
비공개 이미지 레지스트리의 인증 시크릿은 argocd가 아닌 해당 앱이 소속된 디플로이의 네임스페이스로 설정해야 한다.
argocd에서 레지스트리의 이미지를 가져오지 못해서 한참을 헤맸다. 문제는 시크릿의 네임스페이스가 앱이 아니라 argocd로 설정한게 문제였다.
2. hetzner 로드밸런서 생성을 위해 어노테이션 추가 필요.
nginx ingress 설치 후 해당 로드밸런서에 annotations: { load-balancer.hetzner.cloud/location: "hil" }
리전 넣어줘야 한다.
이게 없으니 로드밸런서를 자동으로 생성하지 못한다. nginx helm의 values를 수정해서 해결했다.
Last updated on