본문 바로가기
[Kubernetes]

kubespray를 통한 kubernets 배포

by SAMSUNG Metaverse-Cloud 2023. 8. 19.
728x90

 

 

SSH 키 생성 및 배포

나는 Azure에서 미리 VM을 생성을 헀다.  테스트 노드 1개와 워커노드 1개를 생성했다.

만약 VM을 생성하지 않았으면 Azure, Virtual Box, GCP, AWS 등에서 먼저 Vm을 생성하기를 바란다. 

 

먼저 마스터 노드에 접속한다. 우리는 워커노드에 SSH로 접속할 수 있도록 설정한 후 테스트를 할 것이다. 

먼저 마스터 노드에 접속한 후 ssh-keygen -t rsa 명령어를 통해 SSH key를 생성한다. 

 

명령어를 입력한 후 키를 보관할 위치, 암호, 암호 재입력 등을 입력하면 된다. 나는 아무 설정값 없는 기본으로 진행했다. 

 

 

그 후 ls -al 명령어를 통해서 ssh 키를 확인해 보면 키 들을 확인할 수 있다. 

 

 

그 후 ssh-copy-id 계정이름@서버 IP 를 통해서 마스터에서 생성했던 SSH 키를 Worker 노드로 복사 해 준다. 

 

 

 

그 후 test-server(마스터) 에서 ssh 명령어를 통해서 worker 노드로 접속을 했다. 이를 통해서 우리는 마스터 노드에 ssh 비밀 키를 생성하였고 그 공개키를 워커 노드에 배포하여 ssh로 원격으로 접속하는 과정을 거쳤다.

 

 

kubespray 설치

이제 kubespray를 설치할 것이다. kubespray는 마스터 노드에 설치할 것이다. kubespray는 필요한 관련 패키지를 pip 즉 파이썬 패키지 매니저로 설치해야 한다. 만약 파이썬 및 pip 패키지를 깔아야 한다. 

 

 

그 후 git 명령어를 통해서 https://github.com/kubernetes-sigs/kubespray.git 을 복사 해 준다.

 

 

 

 

복사가 완료되면 cd kubespray로 들어간 후 git checkout -b v2.14.2 를 입력한다 그 후 git status를 눌렀을 때 위처럼 나오면 해당 버전이 적용이 된 것이다. 

 

kubespray 디렉토리 안에서 우리는 requirements.txt 라는 파일을 확인해야 한다. cat 명령어를 통해 확인 해 준다. 

 

 

그 후 pip3 명령어를 통해서 requirements.txt 안에 있는 필요 패키지들을 설치 해 준다. 

 

 

 

inventory 디렉토리 설정

이제 마스터노드를 포함 클러스터로 구성할 모든 서버의 정보와 설치 유형을 설정해야 한다. 

sample 디렉토리를 복사하여 mycluster라는 이름을 가진 클러스터 디렉토리를 생성 해 준다. 

 

 

 

디렉토리 생성이 끝난 후 inventory.ini 파일을 수정 해 준다. 

 

 

all 부분에서 먼저 ansible_hoist와 ip를 사설 ip로 적어준 후 workernode는 etcd_member가 아니기에 빼준다.

kube_control_plane, etcd에는 마스터 노드를
kube_mode에는 워커 노드를 넣어준 후 저장해 준다. 

 

 

 

그 후 ansible 명령어를 통해 쿠버네티스 클러스터를 구성하는 명령을 실행시켰다. 

 

그리고 마지막으로 kubectl get nodes 명령어를 실행하면 된다. 

 

 

 

728x90

'[Kubernetes]' 카테고리의 다른 글

우분투 쿠버네티스 설치 (2)  (0) 2023.08.22
우분투 쿠버네티스 설치 (1)  (0) 2023.08.21