본문 바로가기
Programing/Kubernetes

쿠버네티스(Kubernetes), 랜처(Rancher, RKE2) 설치 1편

by 슈퍼와이비 2023. 9. 13.
반응형
Rancher 소개

 

Rancher는 어디서나 모든 공급자에게 클러스터를 배포하고 실행할 수 있는 Kubernetes 관리 도구입니다.
Rancher는 쿠버네티스를 위한 완벽한 컨테이너 관리 플랫폼으로, 어디서나 쿠버네티스를 성공적으로 실행할 수 있는 도구를 제공합니다.

 

 

 

Rancher 설치

 

Rancher를 설치하기 위해서는 서버에 KubernetesDocker 가 설치되어 있지 않아도 상관없습니다.
RKE2 설치시 쿠버네티스 클러스터도 함께 진행됩니다.
설치전 운영체제와 서비스 포트 등을 잘 확인해서 진행에 문제가 없는지 확인해야 합니다.
Ubuntu 22.04Rocky9 에서 문제없이 진행했습니다.
RKE2를 통해 쿠버네티스 클러스터 구축 후 랜처를 설치하도록 하겠습니다.

Requirements | RKE2

 

Requirements | RKE2

RKE2 is very lightweight, but has some minimum requirements as outlined below.

docs.rke2.io

 

RKE2를 통해 쿠버네티스 클러스터를 설치할 것입니다.

  1. 첫번째로 쿠버네티스 Master Node(마스터 노드) 를 설치합니다.
  2. 이어서 Worker Node(워커 노드) 를 설치합니다.
  3. 세번째로 Rancher(랜처) 를 설치합니다.

 

Master Node(마스터 노드) 설치

 

가상메모리 swap off: 스왑이 활성화된 상태에서는 쿠버네티스의 스케줄러가 노드의 메모리 사용량을 정확히 파악할 수 없기 때문에 서비스 운영시 swap off 를 진행합니다. 

 

$ swapoff -a
$ free -h
               total        used        free      shared  buff/cache   available
Mem:            31Gi       9.6Gi        19Gi        53Mi       2.1Gi        21Gi
Swap:             0B          0B          0B

 

swap on/off 에 대한 설명입니다.

 

더보기

1. 현재 스왑 상태를 확인합니다. 다음 명령으로 스왑 상태를 확인할 수 있습니다.

$ swapon -s

2. 스왑을 비활성화합니다. 다음 명령으로 스왑을 비활성화합니다.

$ swapoff -a

3. 다음 명령으로 스왑을 활성화합니다.

$ swapon -a

 

RKE2(Rancher Kubernetes Engine2) 설치

 

$ curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="server" sh -

 

RKE2 서비스 실행
systemctl start rke2-server.service 실행 이후 서비스가 올라가기까지 잠깐의 시간이 소요됩니다.

 

$ systemctl enable rke2-server.service
$ systemctl start rke2-server.service
$ systemctl status rke2-server.service

 

일정 시간이 지난 후 status 명령어를 통해 서비스가 acrive (running) 상태인지 확인합니다.
정상적으로 올라갔으면 쿠버네티스 클러스터와 마스터노드가 설치되었습니다.

 

$ systemctl status rke2-server
● rke2-server.service - Rancher Kubernetes Engine v2 (server)
     Loaded: loaded (/usr/local/lib/systemd/system/rke2-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-08-17 14:42:31 KST; 4 weeks 0 days ago

 

kubectl 명령어가 실행될 수 있도록 기본 디렉토리로 연결한 뒤 환경변수를 등록해 줍니다.

 

$ mkdir ~/.kube/
$ cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
$ export PATH=$PATH:/var/lib/rancher/rke2/bin/
$ echo 'export PATH=/usr/local/bin:/var/lib/rancher/rke2/bin:$PATH' >> ~/.bashrc

 

kubectl 명령어를 통해 Master Node(마스터 노드)가 쿠버네티스 클러스터에 올라갔는지 확인합니다.
아래의 스크린샷은 Worker Node(워커 노드)까지 설치된 상태입니다.
control-plane, etcd, masterReady 상태인지 확인하시면 됩니다.

 

$ kubectl get nodes
NAME         STATUS   ROLES                       AGE   VERSION
dev-svr001   Ready    control-plane,etcd,master   28d   v1.25.12+rke2r1

 

Master Node(마스터 노드) 설치 완료

 

Master Node(마스터 노드) 설치까지 완료하셨다면 이어서 Worker Node(워커 노드) 설치까지 진행해 보도록 하겠습니다.

쿠버네티스(Kubernetes), 랜처(Rancher, RKE2) 설치(2) (tistory.com)

 

쿠버네티스(Kubernetes), 랜처(Rancher, RKE2) 설치(2)

 

whybk.tistory.com

 

반응형