본문 바로가기
Programing/Kubernetes

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

by 슈퍼와이비 2023. 9. 27.
반응형

📌 Rancher 란 무엇인가

RancherKubernetes 클러스터를 관리하고 운영하기 위한 오픈 소스 플랫폼으로, Kubernetes를 더 쉽게 구축하고 관리할 수 있도록 도와주는 도구입니다.

Rancher를 사용하면 배포, 관리, 로깅, 인증, 네트워크 정책 등을 웹 UI를 통해 쉽게 설정할 수 있기 때문에 쿠버네티스에 대해 잘 모르는 개발자라도 손쉽게 적근할 수 있습니다.   

 

📌 Rancher 주요 기능

Rancher는 개발자와 운영팀이 복잡한 Kubernetes 클러스터를 관리하고 배포하기 위한 다음과 같은 주요 기능을 제공합니다

  1. 다중 클러스터 관리: Rancher는 여러 개의 Kubernetes 클러스터를 중앙에서 관리할 수 있습니다. 이를 통해 다양한 환경에서 운영되는 클러스터를 효과적으로 관리할 수 있습니다.
  2. 클러스터 배포: Rancher는 몇 가지 클릭만으로 Kubernetes 클러스터를 배포할 수 있는 사용자 친화적인 웹 인터페이스를 제공합니다. 클러스터 배포를 간편하게 수행할 수 있습니다.
  3. 안전한 업그레이드 및 롤백: Rancher는 Kubernetes 클러스터의 업그레이드와 롤백을 지원하며, 안정적인 배포를 보장합니다.
  4. 액세스 제어 및 인증: Rancher는 RBAC (Role-Based Access Control) 및 인증 백엔드를 통해 클러스터에 대한 사용자 및 그룹의 액세스 제어를 관리할 수 있습니다.
  5. 앱 카탈로그: Rancher 앱 카탈로그를 통해 컨테이너화된 응용 프로그램을 손쉽게 배포하고 관리할 수 있습니다. 미리 구성된 Helm 차트 및 Docker Compose를 사용하여 앱을 배포할 수 있습니다.
  6. 모니터링 및 경보: Rancher는 Prometheus와 Grafana를 통합하여 클러스터의 상태를 모니터링하고 사용자 지정 경보를 설정할 수 있습니다.
  7. 로그 관리: Rancher는 클러스터의 로그를 수집하고 관리하기 위한 기능을 제공합니다.
  8. 이벤트 및 오류 트래킹: Rancher는 클러스터에서 발생한 이벤트 및 오류를 추적하고 표시하여 문제 해결을 지원합니다.

많은 Rancher의 주요 기능은 Kubernetes 자체에서 지원하는 기능이지만 Rancher는 이러한 기능을 더 쉽게 사용하고 관리할 수 있도록 추상화하고 사용자 친화적인 인터페이스를 제공합니다.

아래는 Rancher의 주요 기능과 이러한 기능이 Kubernetes에서 어떻게 제공되는지에 대한 비교입니다:

  랜처(Rancher) 쿠버네티스(Kubernetes)
다중 클러스터 관리 Rancher는 다중 클러스터를 중앙에서 관리하고 모니터링할 수 있는 사용자 친화적인 웹 인터페이스를 제공합니다. Kubernetes 자체에서는 다중 클러스터 관리 기능이 제한적으로 제공됩니다. kubectl을 사용하여 여러 클러스터를 관리할 수 있지만, 복잡하고 수동적인 작업이 필요합니다
클러스터 배포 Rancher는 클릭 몇 번으로 클러스터를 배포할 수 있는 웹 인터페이스를 제공합니다. Kubernetes는 클러스터를 수동으로 설정하고 배포해야 합니다. kubeadm과 같은 도구를 사용하여 배포할 수 있습니다.
안전한 업그레이드 및 롤백 Rancher는 업그레이드와 롤백을 지원하며, 사용자가 웹 인터페이스에서 클릭으로 관리할 수 있습니다. Kubernetes는 업그레이드와 롤백을 수동으로 수행해야 합니다. kubectl과 kubeadm을 사용하여 직접 관리해야 합니다.
액세스 제어 및 인증 Rancher는 RBAC와 인증을 웹 인터페이스를 통해 간편하게 설정하고 관리할 수 있습니다. Kubernetes는 RBAC (Role-Based Access Control)을 제공하지만, 설정 및 관리가 복잡할 수 있습니다.
앱 카탈로그 Rancher는 Helm 차트와 Docker Compose를 쉽게 사용하여 앱을 배포할 수 있는 사용자 친화적인 환경을 제공합니다. Kubernetes는 Helm과 같은 패키지 관리자를 사용하여 앱을 배포할 수 있지만, 구성 및 관리에 추가적인 노력이 필요할 수 있습니다.
모니터링 및 경보 Rancher는 Prometheus와 Grafana를 통합하고 모니터링을 웹 인터페이스에서 설정하고 관리할 수 있습니다. Kubernetes에서 모니터링은 Prometheus 및 Grafana와 같은 도구를 통해 설정되어야 합니다.
로그 관리 Rancher는 클러스터의 로그를 수집하고 관리하는 기능을 제공합니다. Kubernetes는 로그 관리를 위한 추가 도구나 설정이 필요합니다.
이벤트 및 오류 트래킹 Rancher는 클러스터에서 발생한 이벤트와 오류를 추적하고 웹 인터페이스를 통해 표시합니다. Kubernetes에서는 이벤트 및 오류 트래킹을 위해 kubectl을 사용하거나 별도의 모니터링 도구를 구성해야 합니다.

 

📌 Rancher 설치

 1. cert-manager를 통해 self-signed 인증서를 발급합니다. 운영환경에서는 실제 인증서가 필요합니다.

# kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml
# kubectl -n cert-manager rollout status deploy/cert-manager
# kubectl get pods --namespace cert-manager
# kubectl -n cert-manager rollout status deploy/cert-manager-webhook

 

2. Helm Chart 를 설치해 줍니다.

# #helm을 설치할 dir로 이동 후 실행
# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
# chmod 700 get_helm.sh ## 권한 변경
# ./get_helm.sh

 

Helm ChartKubernetes 애플리케이션을 패키징하고 배포하기 위한 표준화된 방법을 제공하는 도구입니다. Helm ChartKubernetes 애플리케이션, 마이크로서비스, 서비스 및 리소스를 정의하고 패키지로 묶어 배포하는 데 사용됩니다. HelmKubernetes"패키지 매니저" 와 같이 동작하며, 애플리케이션의 배포, 업그레이드, 롤백 및 관리를 단순화합니다.

 

3. Helm Repository에 Rancher UI 추가

$ kubectl create namespace cattle-system ## 쿠버네티스 Namespace 설정
$ helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
$ helm repo update
$ helm search repo rancher-stable

 

4. Rancher  설치 및 확인

$ #helm chart 로 Rancher 설치
$ helm install rancher rancher-stable/rancher \
  --namespace cattle-system \
  --set hostname=rancher.study.net \ ##자신의 domain 입력
  --set bootstrapPassword=admin \
  --set ingress.tls.source=letsEncrypt \
  --set letsEncrypt.email=whybk@tistory.com \  ##자신의 email 입력
  --set letsEncrypt.ingress.class=nginx
$ #Ingress 조회로 설치 유무 확인
$ kubectl get ingress -n cattle-system
NAME      CLASS   HOSTS                   ADDRESS            PORTS     AGE
rancher   nginx   rancher.study.net       xx.xxx.x.xxx       80, 443   29d

 

5. Rancher 접속

  1. hosts 파일에 도메인(rancher.study.net) 을 설정해 주시고 접속하시면 됩니다.
  2. 최초 접속화면은 아래와 같지 않고 비밀번호를 설정하는 화면이 노출되게 됩니다.
  3. 비밀번호 확인은 설치한 리눅스에서 커맨드를 입력하시면 확인 할 수 있습니다.

반응형