카테고리 없음

Kubernetes rancher ha 서버 설치 - rke

hsoooo 2021. 9. 1. 22:38

구성 환경

서버: 우분투 20.04 x 3ea

 

1. docker 설치 (server 1, 2, 3)

sudo apt-get install docker.io -y
sudo usermod -aG docker ${username}

 

2. rke cli 설치 (server 1)

wget https://github.com/rancher/rke/releases/download/v1.3.4/rke_linux-amd64
chmod +x rke*
sudo cp rke* /usr/local/bin/rke 
rke --help

3. 클러스터 노드에 접속 할 수 있도록 ssh 키 등록 및 생성

서버1에서 서버2, 3에 접속 할 수 있도록 키를 등록

 

 

server2: ssh-keygen
server2: cat ~/.ssh/id_rsa.pub > authorized_keys

server1: scp ${username}@server2:~/id_rsa ${ssh dir}

 

4. 클러스터를 구성할 yaml 파일 생성

/home/user/rke/rancher-cluster.yaml 파일 생성

-- rancher-cluster.yaml

nodes:
  - address: x.x.x.x
    internal_address: x.x.x.x
    user: ubuntu
    role: [controlplane,etcd,worker]
    hostname_override: server1
    ssh_key_path: ${server1 key path}

  - address: x.x.x.x
    internal_address: x.x.x.x
    user: ubuntu
    role: [controlplane,worker,etcd]
    hostname_override: server2
    ssh_key_path: ${server1 key path}

  - address: x.x.x.x
    internal_address: x.x.x.x
    user: ubuntu
    role: [controlplane,worker,etcd]
    hostname_override: server3
    ssh_key_path: ${server1 key path}

 

5. cluster 구성

rancher-cluster.yaml 파일이 있는 위치에서 명령어를 실행

 

rke up --config ./rancher-cluster.yaml

6. kubectl cli 설치

mkdir ~/.kube
cp kube_config_rancher-cluster.yaml ~/.kube/config

sudo snap install kubectl --classic

 

7. helm chart 설치

snap install helm --classic

링크: https://helm.sh/docs/intro/install/

 

Installing Helm

Learn how to install and get running with Helm.

helm.sh

 

8. rancher UI 설치

kubectl create ns cattle-system

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

helm upgrade --install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --set tls="external"

helm upgrade --install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --set hostname=${hostname} \
  --set ingress.tls.source=letsEncrypt \
  --set letsEncrypt.environment="production" \
  --set letsEncrypt.email=${email} \
  --set letsEncrypt.ingress.class=nginx

kubectl -n cattle-system rollout status deploy/rancher

https://rancher.com/docs/rancher/v2.x/en/installation/install-rancher-on-k8s/chart-options/

 

Rancher Helm Chart Options

 

rancher.com

 

참조:

https://www.linkedin.com/pulse/install-high-available-kubernetes-cluster-like-rke-vikram-nallamala?articleId=6657350634712461312