본문 바로가기

CentOS/Docker

[Docker][k8s]kubespray - kubernetes 설치

반응형

구성 관리 도구인 앤서블(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