상세 컨텐츠

본문 제목

RKE2 클러스터 구축

Ops/Kubernetes

by 크리두 2024. 10. 25. 09:28

본문

반응형

RKE2 설치

요구사항

참고 : https://docs.rke2.io/install/requirements#vm-sizing-guide

클러스터 및 노드 수에 따라 권장되는 resource

Server CPUServer RAMNumber of Agents

2 4 GB 0-225
4 8 GB 226-450
8 16 GB 451-1300
16+ 32 GB 1300+

네트워크 (포트 참고)

https://docs.rke2.io/install/requirements#networking

크게 중요한 portsms 9345, 6443 port

Server 노드 설치

서버 설치 시 환경이 public internet을 사용하지 못하는 상태이므로 proxy 등을 통해 필요한 미리 리소스를 받아온다.

 

https://docs.rke2.io/install/requirements#networking

  1. installer 실행
  2. curl -sfL <https://get.rke2.io> | sh -
  3. rke2 서비스 실행 및 등록
  4. systemctl enable rke2-server.service systemctl start rke2-server.service
  5. rke2 실행
  6. systemctl start rke2-server.service
  7. 실행 log 확인
  8. journalctl -u rke2-server -f

클러스터 구성

https://docs.rke2.io/install/ha

서버 설정 (첫번째 서버)

touch /etc/rancher/rke2/config.yaml 없을 시 생성

token: my-shared-secret
tls-san:
  - my-kubernetes-domain.com
  - another-kubernetes-domain.com

token은 /var/lib/rancher/rke2/server/node-token 값을 사용

network가 public이 아니라면 config.yaml에 각 component 이미지 주소 설정해주어야함

https://docs.rke2.io/reference/server_config#image

 

Server Configuration Reference | RKE2

This is a reference to all parameters that can be used to configure the rke2 server. Note that while this is a reference to the command line arguments, the best way to configure RKE2 is using the configuration file.

docs.rke2.io

token: my-shared-secret
tls-san:
  - my-kubernetes-domain.com
  - another-kubernetes-domain.com

kube-apiserver-image
kube-controller-manager-image
cloud-controller-manager-image
kube-proxy-image
kube-scheduler-image
pause-image
runtime-image
etcd-image

 

Flag Description Enviroment Variable
kube-apiserver-image Override image to use for kube-apiserver RKE2_KUBE_APISERVER_IMAGE
kube-controller-manager-image Override image to use for kube-controller-manager RKE2_KUBE_CONTROLLER_MANAGER_IMAGE
cloud-controller-manager-image Override image to use for cloud-controller-manager RKE2_CLOUD_CONTROLLER_MANAGER_IMAGE
kube-proxy-image Override image to use for kube-proxy RKE2_KUBE_PROXY_IMAGE
kube-scheduler-image Override image to use for kube-scheduler RKE2_KUBE_SCHEDULER_IMAGE
pause-image Override image to use for pause RKE2_PAUSE_IMAGE
runtime-image Override image to use for runtime binaries (containerd, kubectl, crictl, etc) RKE2_RUNTIME_IMAGE
etcd-image Override image to use for etcd RKE2_ETCD_IMAGE

각 이미지 주소를 개인 registry에 push 해두고 사용

기존의 이미지 주소는 /var/lib/rancher/rke2/agent/images 아래 폴더 참조

나머지 서버 설정

첫번째 서버 설정 config.yaml 위치와 같은 곳에 설정을 넣음

server: <https://my-kubernetes-domain.com:9345>
token: my-shared-secret
tls-san:
  - my-kubernetes-domain.com
  - another-kubernetes-domain.com
  
kube-apiserver-image
kube-controller-manager-image
cloud-controller-manager-image
kube-proxy-image
kube-scheduler-image
pause-image
runtime-image
etcd-image

rke2 server 시작

systemctl start rke2-server.service

서버 확인

/var/lib/rancher/rke2/bin/kubectl get nodes \\
  --kubeconfig /etc/rancher/rke2/rke2.yaml

 

 

반응형

'Ops > Kubernetes' 카테고리의 다른 글

Kubernetes 설치 - disconnected network (controle-plane)  (0) 2024.10.25
[Kubernetes]권한관리 (role, rbac 등)  (0) 2022.11.21
Elastic Cloud on Kubernetes 설치  (0) 2022.10.23
RBAC Authorization  (0) 2021.10.20
K8S ingress에 대하여  (0) 2021.06.24

관련글 더보기

댓글 영역