마짱짱의 지식창고
Rancher를 이용하여 k8s 환경구성 본문
반응형
구성
Master Node 1대
Worker Node 1대
구성 소프트웨어
RKE2, Rancher
1. Master Node 구성하기
스왑메모리 중지합니다.
swapoff -a
0으로 변경되었는지 확인합니다.
free -h
RKE2 설치
주의: Type이 Server 인지 확인합니다.
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="server" sh -
RKE2 실행
start 명령어 시 시간 걸립니다.
systemctl enable rke2-server.service
systemctl start rke2-server.service
systemctl status rke2-server.service
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 get nodes
Worker Node에 등록할 토큰값 확인합니다.
결과값을 메모해 둡니다.
cat /var/lib/rancher/rke2/server/node-token
2. Worker Node
스왑메모리 중지합니다.
swapoff -a
0으로 변경되었는지 확인합니다.
free -h
RKE2 설치
주의: Type이 agent 인지 확인합니다.
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -
RKE2-agent 자동 활성화 설정합니다.
systemctl enable rke2-agent.service
RKE2-agent 구성합니다.
config.yaml에 MasterNode마지막에 메모해둔 Token값을 넣습니다.
mkdir -p /etc/rancher/rke2/
vim /etc/rancher/rke2/config.yaml
# config.yaml
server: https://<IP>:9345 # Master Node의 IP
token: <token from server node>
이후 RKE2-Agent 실행합니다.
systemctl start rke2-agent.service
systemctl status rke2-agent.service
정상적으로 완료 되었다면 MasterNode에서 다시하면 확인해봅니다.
kubectl get nodes
3. Helm으로 Rancher 설치
먼저 cert-manger을 설치합니다.
kubectl create namespace cert-manager
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.3/cert-manager.crds.yaml
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace
Rancher 설치
kubectl create namespace cattle-system ## 쿠버네티스 Namespace 설정
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
helm repo update
helm install rancher rancher-stable/rancher \
--namespace cattle-system \
--set hostname=rancher.sslip.io \
--set bootstrapPassword=admin \
--set ingress.tls.source=letsEncrypt \
--set letsEncrypt.email=majjangjjang@example.com \
--set letsEncrypt.ingress.class=nginx
Host값을 변경하여 hostname값으로 접근하
kubectl get ingress -A
NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
cattle-system rancher <none> rancher.sslip.io 192.168.252.51,192.168.252.52 80, 443 11m
mkdir ~/.kube/ cp /etc/rancher/rke2/rke2.yaml ~/.kube/config 내보내기 PATH=$PATH:/var/lib/rancher/rke2/bin/ echo 'export PATH=/usr/local/ bin:/var/lib/rancher/rke2/bin:$PATH' >> ~/.bashrc
systemctl start rke2-agent.service systemctl 상태 rke2-agent.service
반응형
'Kubernetes' 카테고리의 다른 글
k8s containerd, kubeadm, calico 설치 (0) | 2024.09.02 |
---|---|
[K8S] NFS를 이용한 Storageclass 구성 (0) | 2024.01.24 |
k8s EKS velero S3 연동하여 설치하기 (0) | 2023.11.03 |
Prometheus-stack으로 Grafana까지 쉽게 설치하기 (0) | 2023.10.24 |
[Prometheus] helm을 이용한 설치 (0) | 2023.01.04 |