3. kubespray란?
▪ 매우 쉽고 빠르게 쿠버네티스 설치와 업그레이드
▪ ansible로 설치 스크립트 자동화
▪ CRI, CNI 등 사용자 입맛대로 설정가능
▪ 지원 환경: public cloud(aws, gce, azure ...), bare metal, vSphere ...
6. 인프라구성
▪ vagrant와 virtualbox로 kubespray를 설치할 인프라 구성
② vagrant up
Virtualbox
bootstrap
copntrolplane
worker
...
① 설정파일 생성
kubespray 컨트롤러
쿠버네티스 클러스터 노드
11. 설정
▪ 공통설정
▪ swap 메모리 비활성화
sudo systemctl stop ufw
sudo systemctl disable ufw
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab
▪ 방화벽 비활성화
12. 설정
▪ bootstrap 설정
▪ python3설치
sudo apt install python3-pip python3-setuptools virtualenv -y
▪ 파이썬 가상환경 설치와 활성화
virtualenv --python=python3 venv
. venv/bin/activate
13. 설정
▪ bootstrap 설정
▪ kubespray 다운로드
sudo apt install git -y
git clone https://github.com/kubernetes-sigs/kubespray
▪ 파이썬 패키지 설치
(venv) cd kubespray
(venv) pip install -r requirements.txt
14. 설정
▪ ansible 실행 준비
▪ 쿠버네티스 클러스터 노드에 bootstrap ssh키 등록
Virtualbox
bootstrap
copntrolplane1
worker1
copntrolplane2 copntrolplane3
worker2
ansible
15. 설정
▪ ansible 실행 준비
▪ ssh키 생성
ssh-keygen -t rsa
▪ ssh키 복사
ssh-copy-id vagrant@[controlplane, worker IP]
16. 설정
▪ ansible 실행 준비
▪ ansible inventory.ini파일 설정
cp -rfp inventory/sample inventory/mycluster
vi inventory/mycluster/inventory.ini
17. 설정
▪ ansible 실행 준비
▪ CRI 변경: docker -> containerd
vi inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml
container_manager: containerd
vi inventory/mycluster/group_vars/etcd.yml
etcd_deployment_type: host
18. 설치
▪ ansible 명령어로 설치
ansible-playbook -i inventory/mycluster/inventory.ini --become --become-user=root cluster.yml