Kubespray HA Cluster 구축

1. Node 구성 (Ubuntu 20.04 LTS 기준)

마스터 노드 3ea
- 192.168.223.131 master1
- 192.168.223.132 master2
- 192.168.223.133 master3	

워커 노드 1ea
- 192.168.223.134 worker1

2. Python 설치 (공통)

Ubuntu에는 기본적으로 Python이 설치되어 있어 symbolic link를 생성

sudo ln -s /usr/bin/python3 /usr/bin/python

3. SWAP 메모리 비활성화 (공통)

sudo swapoff –a
sudo vi /etc/fstab → swap 주석 처리

4. Key 기반 인증 (공통)

# 권한 에러 방지를 위해 루트 계정으로 실행
sudo –i

# Key 생성 - Master1에서 실행
ssh-keygen -t rsa 
cat /root/.ssh/id_rsa.pub → 복사

# Key 입력 – 모든 노드에서 실행
vi /root/.ssh/authorized_keys

5. Kubespray 설치 (Master1 노드에서 수행)

# Kubespray 공식 레포지토리 복제
cd
git clone https://github.com/kubernetes-incubator/kubespray.git
cd kubespray

# requirements.txt으로 의존성 패키지들을 설치합니다.
apt install pip -y
pip install -r requirements.txt

6. Ansible 설정 (Master1 노드에서 수행)

# Ansible을 실행할 유저 설정
vi ansible.cfg
remote_user=master1 → 추가

7. Inventory 생성 (Master1 노드에서 수행)

cp -rfp inventory/sample inventory/mycluster
declare -a IPS=(192.168.223.131 192.168.223.132 192.168.223.133 192.168.223.134)
CONFIG_FILE=inventory/mycluster/hosts.yml python contrib/inventory_builder/inventory.py ${IPS[@]}

8. K8s Cluster 설치 (Master1 노드에서 수행)

ansible-playbook -i inventory/mycluster/hosts.yml  --user root cluster.yml

Can Do It
brb

좋은 웹페이지 즐겨찾기