반응형
반응형
실습 환경
k8s-master-1 CentOS 7.8 IP : 192.168.56.102 |
k8s-master-2 CentOS 7.8 IP : 192.168.56.106 |
k8s-worker-1 CentOS 7.8 IP : 192.168.56.107 |
k8s-worker-2 CentOS 7.8 IP : 192.168.56.108 |
Python3 설치 |
사전 작업(모든 서버에서 진행)
swap 메모리 비활성화
[root@k8s-master-1 /]# swapoff -a
ip forward 설정
[root@k8s-master-1 /]# cat /proc/sys/net/ipv4/ip_forward # 설정 확인
0
[root@k8s-master-1 /]# echo 1 > /proc/sys/net/ipv4/ip_forward # 설정 적용
[root@k8s-master-1 /]# cat /proc/sys/net/ipv4/ip_forward # 설정 확인
1
kubernetes 설치하기(k8s-master-1에서 진행)
호스트네임으로 접속하기 위해 hosts 파일에 모든 서버 등록
[root@k8s-master-1 /]# cat /etc/hosts | grep k8s
192.168.56.102 k8s-master-1
192.168.56.106 k8s-master-2
192.168.56.107 k8s-worker-1
192.168.56.108 k8s-worker-2
k8s-master-1 서버에서 다른 서버에 패스워드 입력 없이 ssh 접속 가능하도록 설정
[root@k8s-master-1 ~]# ssh-keygen -t rsa
[root@k8s-master-1 /]# ssh-copy-id root@k8s-master-1
[root@k8s-master-1 /]# ssh-copy-id root@k8s-master-2
[root@k8s-master-1 /]# ssh-copy-id root@k8s-worker-1
[root@k8s-master-1 /]# ssh-copy-id root@k8s-worker-2
kubespray 패키지 다운로드
[root@k8s-master-1 /]# cd /usr/local/src
[root@k8s-master-1 src]#
[root@k8s-master-1 src]# git clone https://github.com/kubernetes-sigs/kubespray.git
Cloning into 'kubespray'...
remote: Enumerating objects: 45191, done.
remote: Total 45191 (delta 0), reused 0 (delta 0), pack-reused 45191
Receiving objects: 100% (45191/45191), 13.19 MiB | 5.42 MiB/s, done.
Resolving deltas: 100% (25184/25184), done.
kubespray 디렉토리로 이동하여 requirments.txt 파일을 열어봅니다.
k8s를 설치하기 위해 사전에 아래 패키지들을 설치해야 합니다.
[root@k8s-master-1 kubespray]# cat 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
pip 명령어로 설치 진행
[root@k8s-master-1 kubespray]# pip3 install -r requirements.txt
다음은 inventory.ini 파일을 설정하는 단계입니다. 우선 sample 디렉토리를 first_cluster로 copy 합니다.
[root@k8s-master-1 kubespray]# cp -rfp inventory/sample inventory/first_cluster
firsy_cluster 디렉토리 내 inventory.ini 파일을 열어서 아래 이미지와 같이 서버를 등록해줍니다.
[root@k8s-master-1 inventory]# vim ./inventory/first_cluster/inventory.ini
master 2대 worker 1대 etcd에는 k8s-master-1 1대만 설정했습니다.
처음에 etcd 2대로 설정을 했는데 설치 단계에서 에러가 발생하여 확인해보니 홀수로 설정이 필요하다고 하네요.
그래서 일단 테스트이니 1대로 설정을 했습니다.
k8s cluster 구성
ansible-playbook을 이용하여 cluster.yml 파일을 실행합니다.
[root@k8s-master-1 kubespray]# ansible-playbook -i ./inventory/first_cluster/inventory.ini cluster.yml
설치 완료!!! 17분 걸렸네요
kubectl 명령어로 node 확인
반응형
'IT > Docker & Kubernetes' 카테고리의 다른 글
[k8s] kubernetes(쿠버네티스) node 추가 제거 (1) | 2020.07.18 |
---|---|
[k8s] kubernetes(쿠버네티스) cluster에 nginx 설치하기 (0) | 2020.07.10 |
[Docker] 도커 학습 - 4. Dockerfile을 사용하여 이미지 생성 (0) | 2020.05.19 |
[Docker] 도커 학습 - 3. 이미지 & 컨테이너 삭제 명령어 (0) | 2020.05.12 |
[Docker] 도커 학습 - 2. 이미지 다운로드 및 컨테이너 실행 (1) | 2020.05.09 |