1P by neo 3달전 | ★ favorite | 댓글 1개

Hetzner

  • Hetzner로의 이전은 주로 비용 절감을 위한 것임. Hetzner의 가격은 세계적으로 경쟁력이 있음.
  • Hetzner는 가상 머신과 베어 메탈 머신을 제공하며, AWS에 비해 제한적이지만 가격으로 보완함.
  • Hetzner로 이전하면서 인프라 비용을 75% 이상 절감함.

Kubernetes on Hetzner

셀프 매니징 Kubernetes

  • DigitalOcean에서 Kubernetes를 운영했으며, Hetzner에서도 셀프 매니징 방식으로 운영함.
  • Hetzner는 관리형 Kubernetes 제어 플레인을 제공하지 않으므로 직접 관리해야 함.
  • Terraform과 Puppet을 사용하여 노드를 관리하고 구성함.

노드 역할

  • 노드 명명 규칙을 사용하여 클러스터 내 역할을 간단하게 유지함: control-plane, worker, database.
  • 역할 추가는 간단하지만 자원 사용의 효율성을 저해할 수 있음.

노드 구축

  • Terraform을 사용하여 클러스터를 부트스트랩함.
  • Hetzner는 관리형 방화벽과 네트워킹을 제공하며, Terraform으로 쉽게 구성 가능함.
  • 서버는 Terraform으로 완전히 관리되며, 역할별 모듈을 작성하여 서버 추가를 간단하게 함.

네트워킹

  • Tailscale VPN을 사용하여 노드에 대한 관리 연결을 수행함.
  • Tailscale은 NAT 홀 펀칭을 제공하여 포트를 닫아도 안전하게 연결 가능함.
  • Hetzner의 관리형 방화벽과 Ubuntu의 UFW를 사용하여 포트를 차단함.
  • Calico를 사용하여 컨테이너 네트워킹 인터페이스를 구성함.

스토리지

  • Hetzner는 nVME SSD와 SSD 기반의 블록 스토리지를 제공함.
  • Hetzner의 볼륨은 스냅샷 기능이 없으므로, 데이터 백업은 수동으로 수행해야 함.
  • 데이터베이스 노드에서는 Local Persistence Volume Static Provisioner를 사용하여 로컬 볼륨을 사전 프로비저닝함.

백업

  • Hetzner는 볼륨 백업을 제공하지 않지만 전체 서버 백업을 제공함.
  • VMware의 Velero를 사용하여 네임스페이스와 PVC를 백업함.
  • Postgres의 경우 pgBackRest를 사용함.

추가 기능

  • SealedSecrets를 사용하여 비밀 관리.
  • Node Exporter, Prometheus, Grafana, Loki를 사용하여 클러스터 모니터링.
  • Alertmanager를 사용하여 Slack과의 알림 통합.

Hetzner에서 Kubernetes 운영에 대한 생각

  • Hetzner로의 이전은 약 1주일이 소요되었으며, 추가 테스트 및 튜닝에 4주가 걸림.
  • Hetzner의 가격은 합리적이며, 다른 제공업체에 비해 낮게 유지될 것이라 믿음.
  • Hetzner의 IP 품질 문제와 고객 서비스에 대한 제한 사항이 있음.
  • Hetzner는 빠르게 새로운 기능을 출시하지만, 수익성이 낮은 서비스는 빠르게 중단할 수 있음.
  • 중앙 유럽 데이터센터 위치는 독일의 Falkenstein, Nuremberg, 핀란드의 Helsinki에 있음.

요약

  • 이 전환은 원활하게 진행되었으며, 인프라 비용을 75% 이상 절감하고 클러스터의 컴퓨팅 자원을 두 배로 늘림.
  • Hetzner는 비용 절감이 필요한 경우 매우 유리한 선택임.
  • Hetzner의 오픈 소스 컨트롤러는 로드 밸런서 관리와 지속적인 볼륨 연결을 용이하게 함.
Hacker News 의견
  • 지속 가능성이나 '그린 호스팅'에 대한 언급이 없음을 지적하며, Hetzner의 유럽 데이터 센터는 친환경 에너지를 사용하지만 미국은 그렇지 않음을 언급함
  • Hetzner에서 Kubernetes 클러스터를 운영한 경험을 공유하며, AWS 대비 비용이 20% 수준으로 낮을 수 있지만, 그에 따른 많은 트레이드오프가 있음을 설명함
    • Kubernetes 클러스터 업데이트를 직접 관리해야 했고, Ceph 및 Kubernetes의 다양한 버그를 겪었으며, 많은 작업과 모니터링이 필요했음을 강조함
    • AWS와 같은 주요 클라우드 제공업체를 사용하면 관리 서비스 덕분에 운영 부담이 줄어듦
    • Hetzner는 비용이 저렴하지만, DevOps 작업에 드는 추가 시간이 그 절감을 상쇄할 수 있음을 설명함
  • 과거 웹 호스팅 경험에서 Hetzner IP를 차단했던 경험을 공유하며, 저렴한 VM 제공업체와 관련된 문제를 언급함
  • Kubernetes와 관련된 비용 절감 아이디어를 공유하며, 온프레미스 노드와 클라우드 제공업체의 노드를 혼합하여 클러스터를 설정하는 아이디어를 제안함
    • egress 비용이 주요 변수일 것이라고 생각함
  • 클러스터와 워크로드에 대한 설명이 부족하다고 느끼며, 절감된 비용의 절대적 크기를 알고 싶다고 언급함
  • Hetzner에서 Kubernetes를 설정하고 관리하는 방법으로 GitHub 프로젝트를 추천함
  • Hetzner의 지원 시스템 문제로 인해 게임 서버가 중단된 경험을 공유하며 주의를 당부함
  • Hetzner의 로드 밸런서를 Kubernetes에 통합하기 위해 얇은 오퍼레이터를 구현한 경험을 공유하며, 관련 프로젝트를 소개함
  • Heroku에서 DigitalOcean으로 전환하여 75%의 비용 절감을 경험했으며, Hetzner로 전환했다면 93% 절감이 가능했을 것이라고 추측함
  • DigitalOcean의 관리형 클러스터에 대한 오해를 바로잡으며, 노드 비용이 추가되지 않음을 설명하고, DigitalOcean의 매력을 강조함