본문 바로가기

K8S 클러스터 구축 가이드

Ansible 기반 Kubespray로 K8S 클러스터 구축하기 (2)

5.k8s 클러스터 설치 (Bootstrap 노드에서만 진행)

 

pip3 명령어 사용을 위해 다음 명령어로 파이썬3를 먼저 설치하고 진행해줍니다.

# sudo yum install python3 (파이썬 설치)

 

# git clone https://github.com/kubernetes-sigs/kubespray.git
# cd kubespray/
# sudo pip3 install -r requirements.txt

 

# cp -rfp inventory/sample inventory/saascluster
# declare -a IPS=(192.168.171.129 192.168.171.133 192.168.171.130 192.168.171.131)
# CONFIG_FILE=inventory/saascluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

내용이 정상적으로 출력되는지 확인
# cat inventory/saascluster/group_vars/all/all.yml
# cat inventory/saascluster/group_vars/k8s_cluster/k8s-cluster.yml

 

kubespray를 통해 K8S 클러스터 설치를 시작합니다.

# ansible-playbook -i inventory/saascluster/hosts.yaml  --become --become-user=root cluster.yml

 

 

 

6. Kubectl 설치

 

cd 명령으로 홈디렉터리에서 kubectl설치를 진행합니다.

# sudo vi /etc/yum.repos.d/kubernetes.repo
# sudo yum install kubectl

vi명령어 이후 아래내용을 복사하여 붙여넣기하고, 저장합니다.

[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gp

 

Kubectl을 통해 클러스터를 제어하기 위해서 다음과 같이 config 파일을 생성합니다.

Master1 노드에서 아래 명령어를 입력합니다.

# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config
# vi .kube/config

아래 내용 복사하여 입력후 저장합니다. (내용이길어 메모장으로 첨부합니다.)

config 내용.txt
0.01MB


BootStrap 노드에서 아래 명령어를 입력합니다.

# mkdir -p $HOME/.kube
# vi .kube/config

 

위에서 복사했던 내용을 그대로 입력하고 나서 저장은 아직 하지않고 Master1 노드에서 다음 명령어를 입력합니다.

# kubectl proxy --port=8080 &
# curl http://localhost:8080/api

다시 BootStrap 노드로 돌아와서 작성중인 내용에서 server:https://127.0.0.1:6443 부분의 아이피주소를 출력된 내용중 serverADDress 부분의 아이피주소로 바꿔줍니다.

 

정상적으로 설정되었다면 kubectl 버전과 클러스터 정보를 볼수있습니다.

# kubectl version
# kubectl cluster-info