Kubernetes 소개
Frank Heilmann
Platform Architect and Freelance Instructor
kubectl: Kubernetes 오브젝트와 상호작용하는 기본 명령pod, service 등$$
일반 사용 패턴:
kubectl create -f <Manifest.yml>: 새 오브젝트 생성, -f는 파일명kubectl apply -f <Manifest.yml>: 새 오브젝트 생성 및 상태 변경kubectl get <object>:
클러스터 내 오브젝트 개요 확인kubectl describe <object>: 오브젝트 상세 정보$$
자세한 도움말: --help 옵션
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 5
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25.4
ports:
- containerPort: 80
스테이트리스 앱:
중단되면 새 복제본이 생성되어 바로 동작합니다.
apiVersion, kindmetadata, specspec에는 replicas, selector, template가 정의됩니다selector는 뒤에서 설명합니다template은 Deployment가 생성할 파드의 세부를 설명합니다apiVersion: apps/v1
kind: Deployment
metadata:
name: <deployment name>
labels:
app: <a label for the application>
spec:
replicas: <number of initial replicas>
selector:
matchLabels:
app: <matches the label above>
template:
metadata:
labels:
app: <label to be given to each pod>
spec:
containers:
- name: <container name>
image: <the image to be used>
ports:
- containerPort: <ports for networking>
kubectl apply -f <manifest.yml>: 파드 생성 및 변경 적용Kubernetes 소개