Hacker News 의견
  • 저는 “Heroku와 비슷한 경험”을 내 서버에서 구현하려 늘 더 좋은 솔루션을 찾는 편이고, 그래서 정말 반가움 표시
    Canine의 Kubernetes 관련 문서가 매우 접근하기 쉽고, 지금까지 본 중 가장 친절한 수준 느낌
    문서를 보며 궁금증 생김: Canine을 Digital Ocean 같은 곳의 매니지드 K8s 환경에서도 쓸 수 있나 기대감 있었는데, 읽고 나니 직접 K8s 클러스터를 관리해야 한다는 인상임
    몇 가지 궁금점 제시

    1. Hetzner에서 “Cluster”를 만들 때, 실제 여러 대의 머신을 아우르는 진짜 K8s 클러스터인지, 단순히 한 머신의 가상 분할인지 궁금증
    2. 다른 서버에 설치 스크립트를 실행하면 클러스터에 조인돼서 pod를 분산 호스팅하는 진짜 분산 서버 구성이 되는지 궁금증
    3. 이미 존재하는 매니지드 K8s에 Canine을 붙여서 배포 가능한지 궁금증
    • 현재 Canine이 지원하는 구성은 두 가지임
      1. Hetzner VPS 한 대에서 운영
      2. 이미 구축된 Kubernetes 클러스터에서 사용
        일반적으로 1번은 스테이징/개발 앱, 2번은 프로덕션 앱에 이용
        2번의 경우 Digital Ocean 등에서 노드 수 관리해서, 쿠버네티스가 워크로드를 자동으로 재스케줄 및 오토스케일 기능 사용
        질문의 핵심 같은데, Canine이 Hetzner 환경에서 직접 멀티노드 클러스터를 만든다는 기능은 아직 지원 안함
        Hetzner의 terraform으로 K8s 클러스터 만드는 것도 있지만, Canine에선 아직 내장되어 있지 않음
        UI 개선 등 하고 나서 관심은 있음
        지금은 K3s 단일 VPS 설치 가이드로 도와주거나, 이미 클러스터가 준비된 경우 쓸 수 있다는 전제
        참고 링크: terraform-hcloud-kube-hetzner
  • 이런 프로젝트가 꼭 필요하다고 생각하는 사람으로서 응원하는 심정
    오늘이라면 Canine이나 Dokploy를 고민할 것 같음 (Docker Swarm도 과소평가된 기술이라고 생각)
    피드백: “왜 Canine을 쓰지 말아야 하는가” 섹션이 솔직해서 신선할 줄 알았는데, 약간 비꼬는 뉘앙스가 들어 불편
    그냥 솔직하게 서버를 구매하고 관리해야 하고, 다운되면 책임져야 하고, 1인 개발 초기 제품이라는 현실적인 단점만 명확히 써줬으면 좋겠다는 의견

    • Docker Swarm은 지금 유지보수와 지원 현황이 어떤지 궁금증
      몇 년 전 현재 Docker 팀이 개발을 중단한 것 같아 추적을 멈췄던 경험 공유

    • 다른 랜딩 페이지들과 차별화하려다 그렇게 작성한 건데, 실 사용자 피드백 매우 감사하게 생각
      다시 시도해볼 의지 표명

  • 세상에 존재하는 여러 PaaS 플랫폼을 모아서 관리하는 리스트 공유
    awesome-paas

  • OP(작성자)에게 질문
    이런 프로젝트를 만들게 된 배경이 궁금증
    뭔가 복잡한 걸 처음부터 끝까지 만들어보고 싶은 욕심이 있는데, API와 React 통합만 다뤄봤음
    복잡한 아이디어를 현실적인 할 일로 쪼개서 오픈소스 프로젝트 “Heroku 대안”으로까지 성사시킨 과정이 궁금함
    난 Heroku 사용 경험이 거의 없어 “구현할 기능”을 파악할 때 가격 페이지 등을 참고할 것 같은데, 이 방식이 비효율적이진 않을지 우려감

  • Kubernetes 기반 Heroku 대안이라니 흥미롭다는 호기심
    하지만 K8s나 Helm chart 같은 걸 알아야 쓸 수 있다면, 내게는 사실상 Heroku 대안이 아닐 것
    물론 운영자 입장에 따라 echo hello 수준으로 단순할 수도 있다는 건 이해
    난 최대한 빨리 무언가를 올리고 싶을 때 “Kubernetes와 Helm chart”라는 단어조차 떠올리고 싶지 않다는 마음

    • 이게 바로 Canine의 목표였음
      사용자는 Kubernetes의 존재 자체도 몰라도 되고, 다만 그 성숙한 생태계를 누릴 수 있음
      언제든지 더 강력한 기능이 필요할 때는 Kubernetes API와 같은 전문 기능을 직접 열어서 쓰는 것도 가능
  • 작은 부분이지만 지적사항
    Kubernetes는 docker 컨테이너가 아니라 Open Container Initiative(OCI) 규격에 맞는 컨테이너를 돌림
    Docker는 상표명임

    • 또 다른 작은 지적:
      Canine Kubernetes Crash Course에서 “1만 대 서버 지원”이라 설명되어 있는데
      공식적으로는 Kubernetes가 최대 5천 노드까지 지원한다고 명시
      kubernetes 공식 문서 참고
      훨씬 더 큰 클러스터도 가능하지만, 그땐 대폭 커스텀 필요 (API registry 전체 교체 등)
      물론 워크로드도 영향
      Kubernetes는 out-of-the-box로 대형 클러스터 지원까지는 아직 멀었지만, 매 릴리즈마다 발전중임

    • docker 필수라고 하면 싫어함
      요즘은 docker 대신 podman이나 containerd 위주로 운영

  • 이 프로젝트 만드는 게 엄청 재밌었고, 내 인생에서 가장 즐거운 개발임
    모든 “기술 스택”을 한 손에 쥐는 성취감이 최고
    Rails app, Canine infra, Raspberry pi 서버, 내가 쓰는 ISP까지
    스스로 전부 관리하며 앱을 올려본 경험 공유

  • 웹사이트에 라이선스 표기가 2024년 MIT License로 되어 있고
    실제 github에는 apache license로 명시되어 있음
    이렇게 연도가 맞는지 아닌지보다, 라이선스 종류가 중요한 차이로 보임
    실제 적용되는 라이선스가 무엇인지 궁금증 표명

  • Self-hosting에서 docker와 K8s 사이 중간 단계를 원해, 비슷한 걸 직접 알아봤던 경험
    Nomad도 고려했지만 여전히 dead simple docker보다 살짝 복잡했고 에코시스템 미흡
    결국 홈서버는 docker로만 운영, 배포 중 다운타임은 감수
    프로덕션에선 Canine이 K8s의 어느 정도까지 추상화해 주는지 궁금함
    내부까지 들여다볼 일이 생길지, K8s 초보라 그 중간 지점이 정말 가능한 건지 의문

    • 나 역시 Docker와 Kubernetes 중간 위치의 툴을 개발중임
      uncloud
      목표는 Docker적인 CLI와 Docker Compose의 멀티머신/프로덕션 기능을 제공하되, 운영 제어 플레인 없이 단순명료함 유지
      개발중이지만 모든 레이어에서 일어나는 일을 쉽게 파악할 수 있어야 하며, 트러블슈팅도 쉬운 점이 목표
  • 컨셉이 정말 마음에 듦
    K8s는 대단한 기술이나, 그 복잡함이 진입장벽
    공개 자료를 보니 본질을 잘 이해한 것 같음
    특히 PVE, Microcloud, Cockpit 같은 솔루션이 인기 있는 셀프호스팅 영역에서 더욱 유용함 예상
    집에 놀고있는 N100 NUC가 있는데, Microcloud 포기하고 Canine 테스트해볼 의향 생김

    • helm이 때때로 번거로운 점 있음
      values.yaml 수정 후 적용되는 값과 처음부터 셋팅해야 하는 값이 헷갈림
      어떤 helm 설치 본은 서비스가 너무 많아, 무엇을 언제 재시작해도 되는지 헷갈림
      반면 core kubernetes는 stateless job에는 정말 쾌적한 사용감

    • 요즘 K8s의 “복잡도”라는 말이 어디서 나오는지 모르겠음
      예전엔 kubespray로 두 시간 세팅 이런 일도 있었는데
      요즘은 rke 같은 툴 쓰면 yaml 파일 하나랑 ssh 키 하나만으로도 클러스터 생성 가능