반응형
📌 Rancher 란 무엇인가
Rancher는 Kubernetes 클러스터를 관리하고 운영하기 위한 오픈 소스 플랫폼으로, Kubernetes를 더 쉽게 구축하고 관리할 수 있도록 도와주는 도구입니다.
Rancher를 사용하면 배포, 관리, 로깅, 인증, 네트워크 정책 등을 웹 UI를 통해 쉽게 설정할 수 있기 때문에 쿠버네티스에 대해 잘 모르는 개발자라도 손쉽게 적근할 수 있습니다.
📌 Rancher 주요 기능
Rancher는 개발자와 운영팀이 복잡한 Kubernetes 클러스터를 관리하고 배포하기 위한 다음과 같은 주요 기능을 제공합니다
- 다중 클러스터 관리: Rancher는 여러 개의 Kubernetes 클러스터를 중앙에서 관리할 수 있습니다. 이를 통해 다양한 환경에서 운영되는 클러스터를 효과적으로 관리할 수 있습니다.
- 클러스터 배포: Rancher는 몇 가지 클릭만으로 Kubernetes 클러스터를 배포할 수 있는 사용자 친화적인 웹 인터페이스를 제공합니다. 클러스터 배포를 간편하게 수행할 수 있습니다.
- 안전한 업그레이드 및 롤백: Rancher는 Kubernetes 클러스터의 업그레이드와 롤백을 지원하며, 안정적인 배포를 보장합니다.
- 액세스 제어 및 인증: Rancher는 RBAC (Role-Based Access Control) 및 인증 백엔드를 통해 클러스터에 대한 사용자 및 그룹의 액세스 제어를 관리할 수 있습니다.
- 앱 카탈로그: Rancher 앱 카탈로그를 통해 컨테이너화된 응용 프로그램을 손쉽게 배포하고 관리할 수 있습니다. 미리 구성된 Helm 차트 및 Docker Compose를 사용하여 앱을 배포할 수 있습니다.
- 모니터링 및 경보: Rancher는 Prometheus와 Grafana를 통합하여 클러스터의 상태를 모니터링하고 사용자 지정 경보를 설정할 수 있습니다.
- 로그 관리: Rancher는 클러스터의 로그를 수집하고 관리하기 위한 기능을 제공합니다.
- 이벤트 및 오류 트래킹: 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 Chart는 Kubernetes 애플리케이션을 패키징하고 배포하기 위한 표준화된 방법을 제공하는 도구입니다. Helm Chart는 Kubernetes 애플리케이션, 마이크로서비스, 서비스 및 리소스를 정의하고 패키지로 묶어 배포하는 데 사용됩니다. Helm은 Kubernetes의 "패키지 매니저" 와 같이 동작하며, 애플리케이션의 배포, 업그레이드, 롤백 및 관리를 단순화합니다.
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 접속
- hosts 파일에 도메인(rancher.study.net) 을 설정해 주시고 접속하시면 됩니다.
- 최초 접속화면은 아래와 같지 않고 비밀번호를 설정하는 화면이 노출되게 됩니다.
- 비밀번호 확인은 설치한 리눅스에서 커맨드를 입력하시면 확인 할 수 있습니다.
반응형
'Programing > Kubernetes' 카테고리의 다른 글
쿠버네티스(Kubernetes), 랜처(Rancher, RKE2) 설치 2편 (0) | 2023.09.13 |
---|---|
쿠버네티스(Kubernetes), 랜처(Rancher, RKE2) 설치 1편 (0) | 2023.09.13 |
쿠버네티스(Kubernetes) 클러스터 복구 (0) | 2023.09.12 |
쿠버네티스(Kubernetes) PV / PVC / StorageClass (2) (0) | 2023.09.08 |
쿠버네티스(Kubernetes) PV / PVC / StorageClass (1) (0) | 2023.08.22 |