반응형
구성 관리 도구인 앤서블(ansible)을 이용해서 멀티노드 쿠버네티스 클러스터를 구축
< VM 정보 >
| <master node> master CentOS 7.6 192.168.111.100 |
<worker node> node1 CentOS 7.6 192.168.111.101 |
<worker node> node2 CentOS 7.6 192.168.111.102 |
< 사전 작업(master, node1, node2 진행) >
1. swap 메모리 비활성화

# swapoff -a
2. ip forward 설정 및 확인

설정 확인>
# cat /proc/sys/net/ipv4/ip_forward
설정 방법>
# echo 1 > /proc/sys/net/ipv4/ip_forward
3. 방화벽 해제 및 selinux 해제

# systemctl stop firewalld
# systemctl disable firewalld
4. 패키지 설치

전체>
# yum install -y epel-release
# yum update -y
# yum install -y python3
master>
sudo -H pip3 install --upgrade --ignore-installed pip setuptools
< master node - master >
1. /etc/hosts 파일 수정

2. master 서버에서 다른 서버(node1, node2)에 패스워드 입력 없이 ssh 접속 가능하도록 설정

# ssh-keygen -t rsa

# ssh-copy-id root@master
# ssh-copy-id root@node1
# ssh-copy-id root@node2
3. kubespray 패키지 다운로드

# cd /usr/local/src
# git clone https://github.com/kubernetes-sigs/kubespray.git
4. requirments.txt 수정

# cd kubespray/
# vi requirements.txt

ansible==2.9.6
jinja2==2.11.1
netaddr==0.7.19
pbr==5.4.4
hvac==0.10.0
jmespath==0.9.5
ruamel.yaml==0.16.10
5. pip 명령어로 설치 진행

pip3 install -r requirements.txt
6. inventory.ini 설정

# cp -rfp inventory/sample inventory/first_cluster
# vim ./inventory/first_cluster/inventory.ini

[all]
master ansibe_host=192.168.111.100 ip=192.168.111.100
node1 ansibe_host=192.168.111.101 ip=192.168.111.101
node2 ansibe_host=192.168.111.102 ip=192.168.111.102
[kube-master]
master
[etcd]
master
[kube-node]
node1
node2
[calico-rr]
[k8s-cluster:children]
kube-master
kube-node
calico-rr
7. k8s cluster 구성


# ansible-playbook -i ./inventory/first_cluster/inventory.ini cluster.yml
8. kubectl node 설치

# kubectl get nodes

반응형
'CentOS > Docker' 카테고리의 다른 글
| [Docker]Dockerfile 기본 작성 (0) | 2022.06.09 |
|---|---|
| [Docker]Docker build 기본 순서 (0) | 2022.06.08 |
| [Docker][k8s]minikube - helloworld (0) | 2022.06.03 |
| [Docker]빌더 패턴 (0) | 2022.06.02 |
| [Docker]CMD vs ENTRYPOINT (0) | 2022.05.25 |