728x90
반응형
10월 25일(월) 수업 내용 중
Kubernetes의 다양한 도구 중에서 kind(Kubernetes IN Docker)와 kubectl은 개발자와 운영자가 Kubernetes 클러스터를 쉽게 설정하고 관리할 수 있도록 도와준다. 이번 실습에서는 kind와 kubectl의 개념, 설치 방법, 그리고 기본 사용법에 대해 학습했다.
1. kind란?
- kind는 Kubernetes 클러스터를 Docker 컨테이너 내에서 실행할 수 있도록 해주는 도구
- 주로 테스트와 개발 환경에서 사용되며, 로컬에서 손쉽게 클러스터를 생성하고 관리할 수 있다.
- kind는 여러 개의 노드를 포함하는 클러스터를 생성할 수 있으며, 이를 통해 실제 Kubernetes 환경을 시뮬레이션할 수 있다.
2. kubectl이란?
- kubectl은 Kubernetes 클러스터와 상호 작용하는 커맨드라인 도구
- 이 도구를 사용하여 클러스터의 상태를 확인하고, 애플리케이션을 배포하며, 서비스 및 리소스를 관리할 수 있다.
- kubectl은 Kubernetes API 서버와 통신하여 클러스터의 리소스를 생성, 조회, 수정 및 삭제하는 데 사용된다.
3. kind와 kubectl 설치하기
3.1. Pre-requisites
- Docker가 설치되어 있어야 한다.
- 터미널 환경이 필요하다.
3.2. kind 설치
문서: https://kind.sigs.k8s.io/docs/user/quick-start/#installation
이 공식문서를 참고하여 설치하면 된다. 나는 리눅스 환경에서 설치해서 아래 명령어들을 활용했다.
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
- 시스템이 x86_64 아키텍처일 때 kind를 다운로드하고, 실행 권한을 부여한 후, 시스템 경로에 이동시킨다.
- 이를 통해 kind를 커맨드라인에서 쉽게 사용할 수 있게 됩니다.
3.3. kubectl 설치
문서: https://kubernetes.io/ko/docs/tasks/tools/install-kubectl-linux/
이 공식문서를 참고하여 설치하면 된다. 실행 도중에 구글 레포지토리 키를 등록하고, 추가하는 데 계속 오류가 나서 아래 명령어를 활용했다.
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client
- kubectl의 최신 안정 버전을 다운로드한다.
- 다운로드한 kubectl 바이너리의 SHA256 체크섬 파일을 다운로드한다.
- 다운로드한 kubectl의 체크섬을 검증한다.
- 검증된 kubectl 바이너리를 시스템 경로에 설치한 후, 설치된 kubectl 클라이언트의 버전을 확인한다.
4. kind 클러스터 생성하기
(1) 클러스터 생성: 기본 클러스터 생성 명령어
kind create cluster
(2) 클러스터 상태 확인: 클러스터가 잘 생성되었는지 확인하기 위해 kubectl 명령어를 사용하여 노드 목록 조회
kubectl get nodes
(3) 클러스터 종료: 클러스터가 필요하지 않은 경우 삭제
kind delete cluster
이렇게 kind와 kubectl의 개념과 설치 방법에 대해 알아보았다. kind를 통해 로컬에서 손쉽게 Kubernetes 클러스터를 생성하고, kubectl을 사용하여 클러스터와 상호작용할 수 있다.
728x90
반응형
'Kubernetes' 카테고리의 다른 글
[Kubernetes] 컨테이너 네트워크 서비스(CNI) (2) | 2024.11.01 |
---|---|
[Kubernetes] 쿠버네티스에서 사용하는 리눅스 프로그램 (0) | 2024.10.31 |
[Kubernetes] Kubernetes에서 NodePort를 활용한 Spring Boot 애플리케이션의 모든 노드 포트 개방 및 서비스 배포 (0) | 2024.10.29 |
[Kubernetes] 쿠버네티스에서의 리소스 관리 및 모니터링 (0) | 2024.10.29 |
[Kubernetes] Linux에서 MiniKube를 설치 및 쿠버네티스 실습 (2) | 2024.10.28 |