kubernetes vps
Kubernetes 워커 노드
클러스터 경제성은 인스턴스당 비용이 아닌 전용 코어당 비용으로 결정됩니다. EPYC Bergamo는 컨테이너화된 서비스에 충분한 클럭으로 소켓에 128개의 코어를 제공하며, 이것이 TORQUE가 당사 범위 어디에서나 진정한 전용 코어를 구매할 수 있는 가장 저렴한 방법인 이유입니다. Talos 및 Flatcar 이미지는 사전 빌드되어 제공되며, 프라이빗 VLAN은 egress 과금 없이 팟 트래픽을 전달합니다.
이 구성의 이유
TORQUE는 우리가 구축할 수 있는 가장 낮은 코어당 가격으로 전용 코어를 제공합니다. 컨트롤 플레인을 하나에 두고 워커를 나머지에 두고 프라이빗 VLAN으로 연결하여 클러스터 내 트래픽이 공용 인터페이스나 대역폭 할당량에 닿지 않도록 하십시오.
배포할 구성
사이징
인스턴스가 아닌 전용 코어당 클러스터 가격을 책정하십시오. TORQUE Bergamo는 밀도 높은 실제 코어를 제공하므로 4코어 8GB의 3노드 컨트롤 플레인은 약 100개의 워커를 처리할 수 있습니다. 하나를 잃어도 용량의 1/3 미만이 손실되도록 워커 크기를 조정하십시오. 16코어 노드 5개가 40코어 노드 2개보다 낫습니다. 할당 가능한 용량을 계산하기 전에 kubelet, containerd 및 CNI를 위해 노드당 코어 1개와 2GB를 예약하십시오. 8코어 미만에서는 노드가 시스템 데몬에 너무 많은 자원을 소비합니다.
Talos와 함께 사라지는 것
Talos는 48개 이미지 중 하나이며 노드 드리프트의 전체 범주를 제거합니다. 셸, SSH, 패키지 관리자가 없습니다. 구성은 API를 통해 머신 구성으로 도착하며 루트 파일 시스템은 변경 불가능하고 검증됩니다. 실제로 이는 노드 재구축이 노드 수리보다 저렴해진다는 것을 의미하며, 이는 워커에게 올바른 자세입니다. 중간 프로비저닝 시간이 47초이므로 이는 선전용이 아닌 실제 워크플로우가 됩니다. 머신 구성을 매니페스트와 같은 저장소에 보관하고 talosctl로 업그레이드를 적용하며 수동 주의가 필요한 노드는 교체 대상으로 취급하십시오.
프라이빗 VLAN 및 코어당 비용
Kubernetes는 운영자가 예상하는 것보다 훨씬 많은 동서 트래픽을 생성합니다: 서비스 메시 사이드카, CSI 복제, etcd, 메트릭 스크랩, 모든 노드 간 팟 호출. 이를 프라이빗 VLAN에 두면 공용 인터페이스, DDoS 스크러빙 경로 및 CNI를 열거할 수 있는 모든 것에서 벗어납니다. 또한 노드 네트워크가 외부에서 더 이상 도달할 수 없게 되므로 NetworkPolicy가 단순해집니다. 비용 측면에서 전용 Bergamo 코어는 스틸 타임과 시끄러운 이웃이 없으므로 요청이 실제와 일치합니다. 연간 결제 시 30% 할인되고 플리트 할인이 10대 서버부터 10%까지 누적되므로 코어당 수치는 예산에 맞게 충분히 예측 가능합니다.
문제점
- 도시 간 etcd 확장. etcd는 단일 자릿수 밀리초의 fsync 지연 시간과 10ms 미만의 쿼럼 RTT가 필요합니다. 세 멤버 모두 단일 메트로에 두고 워커만 확장하십시오.
- 시스템 예약 누락. kube-reserved 및 system-reserved를 설정하지 않으면 스케줄러가 노드를 명목 메모리로 채우고 kubelet이 방금 허용한 포드를 축출하기 시작합니다.
- 공용 주소로 팟 간 트래픽 실행. 공용 NIC의 오버레이 트래픽은 기본적으로 암호화되지 않으며 이그레스 경로에 포함되고 CNI 포트가 노출됩니다. 프라이빗 VLAN에 두십시오.
머신 튜닝
- 주소 및 트랜짓 — Private VLAN between your servers · €6
- CPU 스케줄링 — Pinned physical cores · €9
- 기타 — Second-resolution metrics + alerting · €5