K3s와 Rancher 설치 및 설정 가이드

설정을 위한 3대의 서버 준비: - 192.168.88.85: Rancher 설치 - 192.168.88.71: K3s 서버 설치 - 192.168.88.72: K3s 에이전트 설치

Rancher 설치

Docker가 이미 설치된 192.168.88.85에서 다음 명령어를 사용하여 Rancher를 실행합니다.
docker run -d --name rancher_server -p 8080:80 -p 8443:443 -v /data/rancher:/var/lib/rancher --restart=unless-stopped --privileged rancher/rancher:stable
Rancher가 정상적으로 실행되었는지 확인하기 위해 브라우저에서 192.168.88.85:8080에 접속하고 초기 설정을 진행합니다.

K3s 서버 설치 (192.168.88.71)

K3s를 설치하기 전에 필요한 패키지를 다운로드합니다.
cd /opt
mkdir k3s_install
cd k3s_install
wget https://github.com/k3s-io/k3s/releases/download/v1.21.1+k3s1/k3s
wget https://github.com/k3s-io/k3s/releases/download/v1.21.1+k3s1/k3s-airgap-images-amd64.tar
wget https://raw.githubusercontent.com/k3s-io/k3s/master/install.sh
다운로드한 파일들의 권한을 변경합니다.
chmod +x k3s install.sh k3s-airgap-images-amd64.tar
install.sh 스크립트를 수정하여 INSTALL_K3S_SKIP_DOWNLOAD=true를 추가합니다.
export INSTALL_K3S_SKIP_DOWNLOAD=true
필요한 이미지를 복사합니다.
cp k3s /usr/local/bin/
mkdir -p /var/lib/rancher/k3s/agent/images/
cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
Docker 이미지를 로드합니다.
docker load -i k3s-airgap-images-amd64.tar
설치 스크립트를 실행합니다.
./install.sh
K3s 서비스를 시작하고 상태를 확인합니다.
systemctl daemon-reload
systemctl restart k3s
systemctl status k3s
노드 상태를 확인합니다.
kubectl get nodes

K3s 에이전트 설치 (192.168.88.72)

서버 노드(192.168.88.71)에서 K3S_TOKEN을 확인합니다.
cat /var/lib/rancher/k3s/server/node-token
다음 명령어를 사용하여 에이전트를 설치합니다.
K3S_TOKEN=YOUR_K3S_TOKEN K3S_URL=https://192.168.88.71:6443 ./install.sh

Rancher와 K3s 연동

Rancher 서버 주소로 요청을 보내 K3s 클러스터를 등록합니다. Rancher 웹 인터페이스를 통해 클러스터 등록 명령어를 볼 수 있습니다.

문제 해결

1. 방화벽 설정을 비활성화합니다.
systemctl stop firewalld && systemctl disable firewalld && iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
2. Docker의 설정 파일(/etc/docker/daemon.json)을 수정하여 개인 레지스트리 접근을 허용합니다.
{
    "insecure-registries": ["registry_ip:port"]
}
3. 각 노드에서 `/etc/rancher/k3s/registries.yaml` 파일을 생성하거나 수정하여 프라이빗 레지스트리를 설정합니다.
mirrors:
  "private_registry":
    endpoint:
      - "http://private_registry"
4. K3s 또는 K3s 에이전트 서비스를 재시작합니다.
systemctl restart k3s
systemctl restart k3s-agent

클러스터 삭제

K3s를 제거하려면 설치 시 생성된 스크립트를 사용합니다.
/usr/local/bin/k3s-uninstall.sh
/usr/local/bin/k3s-agent-uninstall.sh

태그: rancher k3s docker container

5월 22일 11:42에 게시됨