에르노트

쿠버네티스(minikube) 시작하기 본문

Dev/Kubernetes

쿠버네티스(minikube) 시작하기

두콩 2023. 11. 27. 17:53

쿠버네티스
minikube start

 

minikube docs에서 친절하게 운영체제와 아키텍쳐에 맞는 설치 커맨드를 안내하고 있다. 본인의 컴퓨터 버전에 맞게 curl 또는 brew install 을 이용해서 minikube을 설치하여 실행하면 된다.

 

minikube start

minikube is local Kubernetes

minikube.sigs.k8s.io


파드(Pod)

파드는 쿠버네티스에서 최소의 컴퓨팅 리소스 단위이다. 컨테이너 오케스트레이션의 장점을 살리기 위해서, 파드를 소중하게 생각해서는 안 된다고 한다. 다시 말해, 애플리케이션의 자가 복구가 원활하기 위해서, 사용자는 파드를 언제든 버릴 수 있는 일회용품으로 생각해야 한다.

 

파드 간 통신을 위해서 자체 IP 주소가 주어진다. 각 파드에는 IP 주소와 포트가 할당되고, 하나의 파드에 여러 개의 컨테이너가 있으면 컨테이너 간 주소를 공유한다. 그리고 파드 내의 컨테이너는 로컬호스트(localhost)를 사용하여 통신할 수 있는데, 컨테이너가 파드의 네임스페이스를 공유하기 때문이다.

 

Kubernetes In Action 교재 5장의 예제 코드를 활용하여 kiada.yaml 파일로부터 파드를 생성해 볼 수 있다.

 

kiada.yaml

apiVersion: v1
kind: Pod
metadata:
  name: kiada
spec:
  containers:
  - name: kiada
    image: luksa/kiada:0.1
    imagePullPolicy: Always
    ports:
    - containerPort: 8080

 

kubectl apply -f 파일명

파드 생성 및 조회
파드의 상태 변화 확인

네임스페이스(Namespace)

네임스페이스는 여러 개의 팀이나, 프로젝트에 걸쳐서 많은 사용자가 있는 환경에서 사용하도록 만들어졌다. 사용자가 거의 없거나, 수 십명 정도가 되는 경우에는 네임스페이스를 전혀 고려할 필요가 없다. 네임스페이스가 제공하는 기능이 필요할 때 사용하도록 하자.

 

리소스의 이름은 네임스페이스 내에서 유일해야하며, 네임스페이스 간에는 겹쳐도 무방하다. 이는 파일명 충돌 문제를 해결하기 위한 객체지향 프로그램밍의 패키지 개념과도 비슷하다. 쿠버네티스를 처음 실행하면 기본으로 default, kube-system, kube-public,

kube-node-lease 네임스페이스가 생성된다.

 

kubectl get namespace

네임스페이스 조회

kubectl create namespace test

네임스페이스 생성

kubectl delete namespace test

네임스페이스 삭제

kubectl config set-context --current --namespace=test
kubectl config view | grep namespace

네임스페이스 전환 및 확인

 

Comments