K3는 매우 가볍지만 아래에 설명된 몇 가지 최소 요구 사항이 있습니다.

도커 또는 Kubernetes 설정에서 실행되도록 K3s 클러스터를 구성하는 경우 K3s를 실행하는 각 노드는 다음과 같은 최소 요구 사항을 충족해야 합니다. 필요에 맞게 더 많은 리소스가 필요할 수 있습니다.

필수 구성 요소

두 노드의 호스트 이름이 같을 수 없습니다.

모든 노드의 호스트 이름이 동일한 경우 –with-node-id 옵션을 사용하여 각 노드에 임의 접미사를 추가하거나 클러스터에 추가하는 각 노드에 –node-name 또는 $K3S_NODE_NAME과 함께 전달할 고유한 이름을 고안합니다.

운영 체제

K3는 대부분의 최신 Linux 시스템에서 작동할 것으로 예상됩니다.

일부 OS에는 특정 요구 사항이 있습니다.

  • Raspbian Buster를 사용하는 경우 다음 단계에 따라 기존 iptables로 전환합니다.
  • Alpine 리눅스를 사용하는 경우 다음 단계에 따라 추가 설치를 수행합니다.
  • (Red Hat/CentOS) Enterprise 리눅스를 사용하는 경우 다음 단계에 따라 추가 설치를 수행하십시오.

Rancher 관리 K3s 클러스터로 테스트된 OS에 대한 자세한 내용은 Rancher 지원 및 유지 관리 조건을 참조하십시오.

하드웨어

하드웨어 요구 사항은 배포 규모에 따라 확장됩니다. 최소 권장 사항이 여기에 요약되어 있습니다.

  • RAM: 최소 512MB(1GB 이상 권장)
  • CPU: 1개 이상입니다.

이 섹션에서는 K3s 에이전트, 워크로드가 있는 K3s 서버 및 한 에이전트가 있는 K3s 서버에 대한 최소 리소스 요구 사항을 결정하기 위한 테스트 결과를 캡처합니다. 또한 K3 서버 및 에이전트 활용률에 가장 큰 영향을 미치는 요소와 에이전트 및 워크로드의 간섭으로부터 클러스터 데이터스토어를 보호하는 방법에 대한 분석도 포함되어 있습니다.

디스크

K3의 성능은 데이터베이스의 성능에 따라 달라집니다. 최적의 속도를 보장하려면 가능한 한 SSD를 사용하는 것이 좋습니다. 디스크 성능은 SD 카드 또는 eMMC를 사용하는 ARM 장치에서 달라집니다.

네트워킹

K3s 서버는 모든 노드에서 포트 6443에 액세스할 수 있어야 합니다.

Flannel VXLAN이 사용되는 경우 노드가 UDP 포트 8472를 통해 다른 노드에 연결할 수 있어야 합니다. 노드가 다른 포트에서 수신하면 안 됩니다. K3s는 노드가 서버에 아웃바운드 연결을 설정하고 모든 kubelet 트래픽이 해당 터널을 통과하도록 역터널링을 사용합니다. 그러나 Flannel을 사용하지 않고 고유한 사용자 지정 CNI를 제공하는 경우 K3s에서는 포트 8472가 필요하지 않습니다.

메트릭 서버를 사용하려면 각 노드에서 포트 10250을 열어야 합니다.

내장형 etcd로 고가용성을 달성하려면 서버 노드가 포트 2379 및 2380에서 서로 액세스할 수 있어야 합니다.

중요:
노드의 VXLAN 포트는 클러스터 네트워크를 열어 다른 사용자가 액세스할 수 있도록 하므로 세상에 노출되어서는 안 됩니다. 포트 8472에 대한 액세스를 금지하는 방화벽/보안 그룹 뒤에서 노드를 실행합니다.
경고:
Flannel은 Bridge CNI 플러그인을 사용하여 트래픽을 전환하는 L2 네트워크를 생성합니다. NET_RAW 기능이 있는 악성 포드는 해당 L2 네트워크를 악용하여 ARP 스푸핑과 같은 공격을 시작할 수 있습니다. 따라서 kubernetes 문서에 설명된 대로 신뢰할 수 없는 포드에서 NET_RAW를 사용하지 않도록 제한하는 프로파일을 설정하십시오.

K3 서버 노드에 대한 인바운드 규칙입니다.

PROTOCOLPORTSOURCE설명
TCP6443K3s 에이전트 Kubernetes API 서버
UDP8472K3s 서버와 에이전트 노트Flannel VXLAN을 위해서만 필요
TCP10250K3s 서버와 에이전트 노트kubelet 메트릭
TCP2379-2380K3s 서버 노드내장 etcd 기반의 HA에만 필요

일반적으로 모든 아웃바운드 트래픽이 허용됩니다.

대형 클러스터

하드웨어 요구 사항은 K3s 클러스터 크기를 기반으로 합니다. 프로덕션 및 대규모 클러스터의 경우 외부 데이터베이스와 함께 고가용성(HA) 설정을 사용하는 것이 좋습니다. 프로덕션의 외부 데이터베이스에는 다음과 같은 옵션이 권장됩니다.

  • MySQL
  • PostgreSQL
  • etcd

CPU와 메모리

다음은 고가용성 K3s 서버의 노드에 대한 최소 CPU 및 메모리 요구 사항입니다.

배포 크기노드 수vCPURAM
Small10까지24 GB
Medium100까지48GB
Large250까지816 GB
X-Large500까지1632 GB
XX-Large500 이상3264GB

디스크

클러스터 성능은 데이터베이스 성능에 따라 달라집니다. 최적의 속도를 보장하려면 항상 SSD Disk를 사용하여 K3s 클러스터를 백업하는 것이 좋습니다. 클라우드 제공자의 경우 최대 IOPS를 허용하는 최소 크기를 사용할 수도 있습니다.

네트워크

포드의 IP가 부족하지 않도록 클러스터 CIDR의 서브넷 크기를 늘리는 것이 좋습니다. 시작할 때 –cluster-cidr 옵션을 K3s 서버에 전달하여 이 작업을 수행할 수 있습니다.

데이터베이스

K3s는 MySQL, PostgreSQL, MariaDB를 비롯한 다양한 데이터베이스를 지원합니다. 대규모 클러스터를 실행하는 데 필요한 데이터베이스 리소스에 대한 싸이징 가이드입니다.

배포 크기노드 수vCPURAM
Small10까지12 GB
Medium100까지28 GB
Large250까지416 GB
X-Large500까지832 GB
XX-Large500 이상1664GB

출처 : https://rancher.com/docs/k3s/latest/en/installation/installation-requirements/

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like

[기계번역] K3s : Quick-Start Guide

이 안내서는 기본 옵션이 있는 클러스터를 빠르게 시작하는 데 도움이 됩니다. 설치 섹션에서는 K3를 설정하는 방법에 대해 자세히…

[기계번역] K3s : Architecture

이 페이지에서는 고가용성 K3s 서버 클러스터의 아키텍처와 단일 노드 서버 클러스터와의 차이점을 설명합니다. 또한 에이전트 노드가 K3s 서버에…