본문 바로가기

Automation/kubernetes

kubespray 로 쿠버네티스 설치하기 #2-설치하기

kubespray로 쿠버네티스를 설치한다. kubespary 디플로이하기 전에 마스터 및 워커 노드간 통신을 위한 인증작업과 통신환경 설정을 완료했다. (kubespary 설치 사전 준비 참고)

 

 

kubespray 로 쿠버네티스 설치하기 #1-사전준비

쿠버네티스를 설치하는 방법은 여러가지가 있다. 그 중 내가 직접 구성해본 방법은 5가지다. Rancher로 K8S 클러스터를 구성하는 방법 kubespray로 K8S 클러스터를 구성하는 방법 kubeadm으로 K8S 클러스

jarikki.tistory.com

kubespray는 ansible-playbook 를 이용해서 설치를 진행해야하기 때문에 다음과 같이 몇가지 모듈을 Master Node에 추가로 설치해야한다.

 

1. ansible, python, pip 설치
yum install https://centos7.iuscommunity.org/ius-release.rpm -y
yum install python36u-pip wget -y
pip3.6 install ansible netaddr jinja2

# Install dependencies from requirements.txt
cd /opt/kubespray-2.11.0
sudo pip install -r requirements.txt

# Copy inventory/sample as inventory/mycluster
cp -rfp inventory/sample inventory/mycluster

# Update Ansible inventory file with inventory builder
declare -a IPS=(192.168.56.109, 192.168.56.110, 192.168.56.111, 192.168.56.112)
CONFIG_FILE=inentory/mycluster/inventory.ini python3 contrib/inventory_builder/inventory.py ${IPS[@]}

 

2. 파라메터 설정 변경 여부 확인
# Review and change parameters under inventory/mycluster/goup_vars
cat inventory/mycluster/group_vars/all/all.yml
cat inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml

 

3. kubespray Deploy
# Deploy kubespray with Ansible-Playbook - run the playbook as root
# The option '--become' is required, as for example writting SSL keys in /etc/,
# installing packages and interacting with various systemd daemons.
# without '--become' the playbook will fail to run.
ansible-playbook -i /opt/kubespray-2.11.0/inventory/mycluster/inventory.ini --become --become-user=root cluster.yml

ansible-playbook으로 쿠버네티스 설치가 완료되었다.

만약 설치한 k8s의 설저을 변경하고자 할 경우 다음 명령어를 사용하면 된다.

 

ansible-playbook -i /opt/kubespray-2.11.0/inventory/mycluster/inventory.ini --become --become-user=root reset.yml

 


이상으로 kubepray로 쿠버네티스 설치 방법을 정리했다.

나중에 ansible 설치와 사용 방법에 대해서도 정리해두는 것이 좋겠다.