[기계번역] K3s : Architecture

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

또한 에이전트 노드가 K3s 서버에 등록되는 방법에 대해서도 설명합니다.

서버 노드는 k3s server 명령을 실행하는 컴퓨터(베어메탈 또는 가상)로 정의됩니다. 워커 노드는 k3s agent 명령을 실행하는 시스템으로 정의됩니다.

이 페이지에서는 다음 항목에 대해 설명합니다.

  • 내장형 데이터베이스를 사용하여 단일 서버를 설정
  • 외부 데이터베이스가 있는 고가용성 K3s 서버
    • 에이전트 노드에 대한 고정 등록 주소
  • 에이전트 노드 등록의 작동 방식
  • 매니페스트가 자동으로 배포

내장형 DB를 사용하여 단일 서버를 설정

다음 다이어그램은 내장된 SQLite 데이터베이스가 있는 단일 노드 K3s 서버가 있는 클러스터의 예를 보여 줍니다.

이 구성에서 각 에이전트 노드는 동일한 서버 노드에 등록됩니다. K3s 사용자는 서버 노드에서 K3s API를 호출하여 Kubernetes 리소스를 조작할 수 있습니다.

단일 서버를 사용하는 K3s 아키텍처입니다.

외부 DB가 있는 고가용성 K3s 서버

단일 서버 클러스터는 다양한 사용 사례를 충족할 수 있지만, Kubernetes 제어부의 가동 시간이 중요한 환경에서는 HA 구성에서 K3를 실행할 수 있습니다. HA K3s 클러스터는 다음과 같이 구성됩니다.

  • Kubernetes API를 제공하고 다른 제어부 서비스를 실행할 두 개 이상의 서버 노드입니다.
  • 단일 서버 설정에 사용되는 내장형 SQLite 데이터스토어와 반대되는 외부 데이터스토어입니다.

High Availability 서버를 갖춘 K3s 아키텍처입니다.

에이전트 노드에 대한 고정 등록 주소

고가용성 서버 구성에서 각 노드는 아래 다이어그램과 같이 고정 등록 주소를 사용하여 Kubernetes API에 등록해야 합니다.

등록 후 에이전트 노드는 서버 노드 중 하나에 직접 연결합니다.

에이전트 노드 등록의 작동 방식

에이전트 노드는 k3s 에이전트 프로세스에서 시작된 웹 소켓 연결에 등록되며, 에이전트 프로세스의 일부로 실행되는 클라이언트 측 로드 밸런서에 의해 연결이 유지됩니다.

에이전트는 /etc/rancher/node/password에 저장된 노드에 대해 임의로 생성된 비밀번호와 함께 노드 클러스터 암호를 사용하여 서버에 등록합니다. 서버는 개별 노드의 암호를 Kubernetes 시크릿으로 저장하며, 이후 시도 시 동일한 암호를 사용해야 합니다. 노드 암호 암호는 템플릿 <host>.node-password.k3을 사용한 이름으로 kube-system 네임스페이스에 저장됩니다.

참고: K3s 이전 버전 v1.20.2 서버는 /var/lib/rancher/k3s/server/cred/node-passwd의 디스크에 암호를 저장했습니다.

에이전트의 /etc/rancher/node 디렉터리가 제거된 경우 에이전트에 대한 암호 파일 또는 서버에서 제거된 항목을 다시 생성해야 합니다.

–with-node-id 플래그를 사용하여 K3s 서버 또는 에이전트를 시작하여 고유한 노드 ID를 호스트 이름에 추가할 수 있습니다.

매니페스트 자동 배포

디렉토리 경로 /var/lib/rancher/k3s/server/manifests에 위치한 매니페스트가 빌드 시 K3s 바이너리에 번들로 제공됩니다. 이것들은 Rangcher/helm 컨트롤러에 의해 런타임에 설치됩니다.

출처 : https://rancher.com/docs/k3s/latest/en/architecture/

답글 남기기

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

You May Also Like
Read More

Rolling release와 Point release

openSUSE를 다운로드 받으려고 가보니, rolling release라는 용어가 눈에 들어옵니다. 대략 “최신버전 구성의 지속적인 릴리즈” 정도로 이해하기에는 뭔가 부족한…