외부 데이터베이스는 고 가용성을 달성하기 위해 K3s - 공식 문서에서

이 섹션에서는 외부 데이터베이스와 고 가용성 K3s 클러스터를 설치하는 방법을 설명합니다.

단일 서버 클러스터는 사용 사례의 다양한 만날 수 있지만,는 Kubernetes 제어 평면의 가동 시간이 중요한 환경을 위해, 당신은 HA 구성에서 K3s를 실행할 수 있습니다. HA K3s 클러스터가 구성되어 있습니다 :

  • 두 개 이상의 서버 노드 는 Kubernetes API를 제공하고 다른 컨트롤 플레인 서비스를 실행하는 것
  • 0 개 이상의 에이전트 노드 앱과 서비스를 실행하도록 지정되어 있습니다
  • 외부 저장소 (단일 서버의 설정에 사용되는 임베디드 SQLite는 데이터 저장소와는 대조적으로)
  • 고정 주소 등록 서버 노드의 앞에 배치되는 에이전트 노드가 클러스터에 등록 할 수 있도록

이러한 구성 요소가 함께 작동하는 방법에 대한 자세한 내용은 참조 아키텍처 섹션을 참조하십시오.

에이전트는 고정 등록 주소를 통해 등록하지만, 등록 후 그들은 서버 노드 중 하나에 직접 연결을 설정합니다. 이것에 의해 개시되는 웹 소켓 접속 인 k3s agent방법과는 에이전트 프로세스의 일부로서 실행하는 클라이언트 측로드 밸런서에 의해 유지된다.

설치 개요

경우 HA 클러스터 설정하려면 다음 단계를 수행해야합니다 :

  1. 외부 데이터 저장소 만들기
  2. 실행 서버 노드
  3. 고정 등록 주소를 구성
  4. 에이전트 노드를 가입

외부 데이터 저장소 만들기 (1)

먼저 클러스터에 대한 외부 데이터 저장소를 만들어야합니다. 참고 항목 클러스터 데이터 저장소 옵션 자세한 내용은 문서를.

2. 실행 서버 노드

K3s이 HA 구성을 위해 두 개 이상의 서버 노드를 필요로한다. 참고 항목 노드 요구 사항 최소 시스템 요구 사항에 대한 가이드.

실행중인 경우 k3s server이 노드에 명령을, 당신은 설정해야합니다 datastore-endpointK3s 외부 데이터 저장소에 연결하는 방법을 알 수 있도록 매개 변수를.

예를 들어, 다음과 같은 명령은 외부 데이터 저장소로 MySQL 데이터베이스와 K3s 서버를 설치하는 데 사용할 수 있습니다 :

curl -sfL https://get.k3s.io | sh -s - server \
  --datastore-endpoint="mysql://username:password@tcp(hostname:3306)/database-name"

데이터 스토어 엔드 포인트 형식은 데이터베이스 유형에 따라 다릅니다. 자세한 내용은 섹션을 참조 데이터 저장소 엔드 포인트 형식을 지원합니다.

서버 노드를 시작할 때 구성이 인증서를 TLS하려면 참조 데이터 저장소 구성 안내서.

참고 : 단일 서버 설치 횟수 사용할 수있는 동일한 설치 옵션은 고 가용성을 설치합니다 사용할 수 있습니다. 자세한 내용은 참조 설치 및 구성 옵션의 문서를.

기본적으로 서버 노드가 스케줄 때문에 워크로드가 그들에 출시 얻을 수있을 것입니다. 더 사용자 워크로드가 실행되지 않습니다 전용 제어 비행기를 원하는 경우에, 당신은 taints를 사용할 수 있습니다. node-taint매개 변수는 예를 들어, taints와 노드를 구성 할 수 있습니다 --node-taint k3s-controlplane=true:NoExecute.

당신이 시작하면 k3s server모든 서버 노드에서 프로세스를 클러스터가 제대로 마련되었는지 확인 k3s kubectl get nodes. 당신은 준비 상태에서 서버 노드를 볼 수 있습니다.

3. 구성 고정 등록 주소

에이전트 노드에 등록 할 수있는 URL이 필요합니다. 이것은 서버 노드의의 IP 또는 호스트 이름이 될 수 있지만, 많은 경우에 사람들은 시간이 지남에 따라 변경 될 수 있습니다. 당신이 지원 그룹을 확장하는 클라우드의 클러스터를 실행하는 경우 예를 들어, 노드가 생성되고 파괴 원인 때문에 서버 노드의 초기 설정에서 다른 IP를 가지고, 시간이 지남에 따라 위아래로 서버 노드 그룹을 확장 할 수 있습니다. 따라서 시간이 지남에 변경되지 않습니다 서버 노드의 앞에 안정적인 엔드 포인트가 있어야합니다. 이 엔드 포인트는 같은 숫자의 방법을 사용하여 설정할 수 있습니다 :

  • 레이어 -4 (TCP)로드 밸런서
  • 라운드 로빈 DNS
  • 가상 또는 탄성 IP 주소

이 엔드 포인트도는 Kubernetes의 API에 액세스 할 수 있습니다. 당신은, 예를 들어, 수정할 수 있도록 kubeconfig의 특정 노드의 대신에 포인트 파일을.

4. 옵션 : 에이전트 노드를 가입

K3s 서버 노드는 기본적으로 스케줄 때문에 HA K3s 서버 클러스터 노드의 최소 수는 두 개의 서버 노드 및 제로 에이전트 노드입니다. 당신의 응용 프로그램과 서비스를 실행하는 클러스터에 에이전트 노드 가입 지정 노드를 추가합니다.

경우 HA 클러스터의 에이전트 노드를 가입하면 단일 서버 클러스터에서 에이전트 노드에 합류과 동일합니다. 당신은 단지 URL 에이전트가 등록하고 그것을 사용해야 토큰해야을 지정해야합니다.

K3S_TOKEN=SECRET k3s agent --server https://fixed-registration-address:6443
원저는 0 출판 · 원의 칭찬 0 · 537 조회수

추천

출처blog.csdn.net/qingdao666666/article/details/104630965