
쿠버네티스(Kubernetes, K8s)는 컨테이너화된 애플리케이션을 자동으로 배포하고, 스케일링하고, 운영하는 오픈소스 시스템이다.
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
spec:
type: NodePort
ports:
- port: 80
targetPort: 8080
nodePort: 30036
kubectl set image deployment/my-deployment my-container=my-image:v2
kubectl rollout undo deployment/my-deployment
kubectl rollout status deployment/my-deployment
volumes:
- name: cache-volume
emptyDir: {}
volumes:
- name: host-volume
hostPath:
path: /data
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-data
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
쿠버네티스를 활용하면 컨테이너의 배포, 확장, 복구, 연결 및 저장을 효율적으로 수행할 수 있다. 실무에서는 YAML 파일을 관리하면서 kubectl 명령어로 리소스를 운용한다.
참고: 모든 리소스는
kubectl apply -f <파일명>.yaml로 생성할 수 있음.