쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 배포, 확장, 관리하기 위한 오픈소스 플랫폼입니다. 이 플랫폼을 사용하면 애플리케이션을 빠르게 배포하고, 확장성을 보장하며, 새로운 기능을 빠르게 추가할 수 있습니다.
Pod
쿠버네티스(Pod)는 쿠버네티스 클러스터에서 실행되는 가장 작은 배포 단위입니다. Pod는 하나 이상의 컨테이너 그룹을 포함하며, 공유된 네트워크 네임스페이스와 저장소를 가지고 있습니다. Pod 내의 컨테이너는 동일한 호스트에서 실행되며, 같은 네트워크 인터페이스와 로컬 호스트를 공유합니다.
여기서는 myapp-pod.yaml
이라는 쿠버네티스 매니페스트 파일을 사용하여 myapp-pod
라는 이름의 Pod를 생성하고 관리하는 방법에 대해 설명하겠습니다.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
spec:
containers:
- name: myapp
image: ghcr.io/c1t1d0s7/go-myweb:alpine
ports:
- containerPort: 8080
protocol: TCP
위의 YAML 파일은 myapp-pod
라는 이름의 Pod를 정의하고 있습니다. 이 Pod는 ghcr.io/c1t1d0s7/go-myweb:alpine
이미지를 기반으로 하는 myapp
이라는 이름의 컨테이너를 실행합니다. 컨테이너는 8080번 포트에서 TCP 프로토콜을 사용하여 통신합니다.
이 Pod를 생성하려면 다음 명령어를 사용합니다:
kubectl create -f myapp-pod.yaml
이미 존재하는 Pod의 설정을 변경하려면 다음 명령어를 사용합니다:
kubectl apply -f myapp-pod.yaml
현재 실행 중인 모든 Pod의 상태를 확인하려면 다음 명령어를 사용합니다:
kubectl get pods
특정 Pod의 상세 정보를 확인하려면 다음과 같은 명령어를 사용합니다:
kubectl get pod myapp-pod -o wide
kubectl get pod myapp-pod -o yaml
kubectl get pod myapp-pod -o json
kubectl describe pod myapp-pod
Pod에서 실행 중인 컨테이너의 로그를 확인하려면 다음 명령어를 사용합니다:
kubectl logs myapp-pod
kubectl logs pod/myapp-pod
Pod의 8080번 포트를 로컬의 8080번 포트로 포워딩하려면 다음 명령어를 사용합니다:
kubectl port-forward myapp-pod 8080:8080
kubectl port-forward pod/myapp-pod 8080:8080
마지막으로, Pod를 삭제하려면 다음 명령어를 사용합니다:
kubectl delete -f myapp-pod.yaml
이렇게 쿠버네티스를 사용하면 애플리케이션의 배포와 관리가 훨씬 간편해집니다.
'Infra > Kubernetes' 카테고리의 다른 글
쿠버네티스 01-03 Pod_annotation (0) | 2023.09.06 |
---|---|
쿠버네티스 01-02 Pod_label (0) | 2023.09.06 |
containerd, kubernetes 설치하기 feat. Arm , Troubleshooting (0) | 2023.09.05 |
Helm 설치 및 사용 (0) | 2023.09.05 |
WARNING: Kubernetes configuration admin.conf (0) | 2023.09.04 |