"Lightweight Kubernetes. Easy to install, half the memory, all in a binary of less than 100 MB."
경량 쿠버네티스. 설치가 쉽고 메모리가 절반이며 모두 100MB 미만의 바이너리입니다.
다음 환경에서 사용하면 좋습니다.
K3s는 다음과 같은 향상된 기능을 갖춘 완전히 호환되는 쿠버네티스 배포판입니다:
K3는 다음과 같은 필수 종속성을 패키지로 제공합니다:
k3s 의 서버 노드는 k3s 서버 명령을 실행하는 호스트로 정의되며, 컨트롤 플레인 및 데이터스토어 구성 요소는 K3s에 의해 관리됩니다.
k3s 에이전트 노드는 데이터스토어 또는 컨트롤 플레인 구성 요소 없이 k3s 에이전트 명령을 실행하는 호스트로 정의됩니다.
서버와 에이전트 모두 kubelet, 컨테이너 런타임 및 CNI를 실행합니다.
최소 사양
최소 사양
다음 다이어그램은 SQLite 데이터베이스가 내장된 단일 노드 K3s 서버가 있는 클러스터의 예를 보여줍니다.
이 구성에서 각 에이전트 노드는 동일한 서버 노드에 등록됩니다. K3s 사용자는 서버 노드에서 K3s API를 호출하여 쿠버네티스 리소스를 조작할 수 있습니다.
단일 서버 클러스터는 다양한 사용 사례를 충족할 수 있지만, Kubernetes 컨트롤 플레인의 가동 시간이 중요한 환경의 경우, HA 구성으로 K3를 실행할 수 있습니다.
HA K3s 클러스터는 다음과 같이 구성됩니다:
에이전트 노드는 k3s 에이전트 프로세스에 의해 시작된 웹소켓 연결로 등록되며, 에이전트 프로세스의 일부로 실행되는 클라이언트 측 로드 밸런서에 의해 연결이 유지됩니다.
에이전트는 노드 클러스터 비밀과 노드에 대해 무작위로 생성된 비밀번호를 사용하여 서버에 등록하며, 비밀번호는 '/etc/rancher/node/password'에 저장됩니다. 서버는 개별 노드의 비밀번호를 쿠버네티스 시크릿으로 저장하며, 이후 모든 시도는 동일한 비밀번호를 사용해야 합니다. 노드 비밀번호 시크릿은 .node-password.k3s 템플릿을 사용하는 이름으로 kube-시스템 네임스페이스에 저장됩니다.
참고: K3s v1.20.2 이전 서버는 '/var/lib/rancher/k3s/server/cred/node-passwd' 에 패스워드를 저장했습니다.
에이전트의 /etc/rancher/node 디렉터리가 제거된 경우 에이전트에 대한 비밀번호 파일을 다시 만들거나 서버에서 해당 항목을 제거해야 합니다.
고유한 노드 ID는 --with-node-id 플래그를 사용하여 K3 서버 또는 에이전트를 시작하여 호스트 이름에 추가할 수 있습니다.