클러스터 구성
Microk8s 사용 중
Microk8s 클러스터 구성
물리적 호스트를 사용하지 않고 Microk8s 클러스터를 테스트하기 위해 LXD를 사용한다.
LXD란?
LXD란 Canonical이 만든 컨테이넌 솔루션으로 컨테이너를 실행하고 관리하는 도구이다.
LXD 설치
sudo snap install lxd
sudo lxd init
컨테이너 생성
- 마스터 노드
lxc launch -p default -p microk8s ubuntu:20.04 mnode
- 워커 노드 (wnode1~3) - 3개 반복
lxc launch -p default -p microk8s ubuntu:20.04 wnode1
LXD에 Microk8s 설치
모든 노드(mnode, wnode1~3)에 모두 설치
lxc exec mnode -- sudo snap install microk8s --classic
Microk8s Addons 추가 설치
lxc exec mnode -- microk8s.enable dns storage
rc.local 활성화
모든 노드에 rc.local 파일을 생성해서 프로파일을 로드
/etc/rc.local
파일은 시스템이 부팅되고 맨 마지막 실행되는 스크립트이다.
컨테이너 실행
lxc shell mnode
rc.local
파일 생성
cat > /etc/rc.local <<EOF
#!/bin/bash
apparmor_parser --replace /var/lib/snapd/apparmor/profiles/snap.microk8s.*
exit 0
EOF
권한 추가
chmod +x /etc/rc.local
ip 주소 추가
모든 노드에 ip 등록
컨테이너 실행
lxc shell mnode
파일 수정
vim /etc/hosts
ip 추가
<ip 번호> <호스트명>
마스터 노드에서 생성된 클러스터 확인
lxc shell mnode
microk8s.kubectl get no
[참조]: Canocical Microk8s 공식 문서
끝!