본문 바로가기

쿠버네티스10

Kubernetes Storage / emptydir, persistent volume Kubernetes Emptydir EmptyDir 볼륨은 Pod와 함께 생성되고 삭제됨, lifecycle을 같이 가져가는 존재 Pod내의 모든 컨테이너는 emptyDir 볼륨에 접근 가능 디스크, SSD, 네트워크 스토리지등에 저장이 가능하고, emptyDir.medium 필드를 Memory로 설정시 tmpfs RAM에 마운트 가능 대신 메모리 제한에 유의 apiVersion: v1 kind: Pod metadata: name: test-pd spec: containers: - image: registry.k8s.io/test-webserver name: test-container volumeMounts: - mountPath: /cache name: cache-volume volumes: - nam.. 2023. 5. 24.
Kubernetes DaemonSet / 쿠버네티스, 데몬셋, 서비스, Pattern, 패턴 Kubernetes DaemonSet DaemonSet을 이용하여 모든 노드 혹은 특정 노드에 동일한 Pod들을 실행가능 노드가 클러스터에 추가되면 해당 노드에도 자동으로 추가 노드 제거되면 Pod가 garbage로 수거가 됨 여기서 잠깐 확인해봐야할 것 Background process와 DaemonSet의 차이가 무엇인지 아십니까? - Background process: 유저와 상호작용을 함, Parent process가 존재 - DaemonSet: 유저와 별도로 동작, process동작 Parent process와 연결을 해제 아무튼 그래서 모든 노드에서 log를 수집해야한다거나, 노드 정보를 따로 수집해야한다거나 할때 DaemonSet을 활용하면 됨 apiVersion: apps/v1 kind: .. 2023. 1. 28.
Kubernetes Deployment / 쿠버네티스, 패턴, pattern, 선언적 배포, 디플로이먼트 Kubernetes Deployment Deployment는 container그룹(Pod, ReplicaSet)들의 업그레이드, 롤백 등 배포관련 프로세스를 캡슐화하고 반복, 자동화에 도움을 줌 Self-service방식으로 서비스를 배포하다보면 서비스의 수가 증가할수록 업데이트, 배포에 부담이 커짐 새로운 버전 시작, 기존 파드 안전하게 중지, 새로운 파드 상태 확인, 실패시 롤백 등의 동작이 필요 많은 서비스에 대해 앞선 동작들을 수동으로 하면 문제가 생길 포인트가 많아짐 이런 동작들을 자동화 해주는 것이 Deployment 개념 업데이트 관리, 개별 적용, 배포 프로세스 조정 등 다양한 기능을 사용가능 개발공부를 하다보면 다양한 배포전략이 존재하는 걸 알 수 있는데, Deployment에서도 Rol.. 2023. 1. 26.
Kubernetes ConfigMap / 쿠버네티스, 패턴, pattern, 환경변수, 설정, 컨피그맵, CM Kubernetes ConfigMap 설정 정보를 key-value 값으로 저장 key-value외에도 conf파일 자체를 저장할 수 있음 최대 1MB의 사이즈 저장 가능 kubectl을 통해 파일 참조하여 생성, 직접 값 전달하여 생성할 수 있음 추가로 manifest로도 생성 가능 #파일 참조 $ kubectl create configmap sample-configmap --from-file=./nginx.conf #직접 전달 $ kubectl create configmap sample-configmap --from-literal=NODE_ENV=production #manifest 생성 apiVersion: v1 kind: ConfigMap metadata: name: ~~ data: NODE_EN.. 2023. 1. 25.
Kubernetes EnvVar / 쿠버네티스, 패턴, pattern, 환경변수, dockerfile, env Kubernetes EnvVar Application은 서비스 접근, 분리 등등 다양한 케이스에서 설정이 필요 Application 내부에 환경변수를 설정하는것은 옳지 않음 Container영역에서 사용할 수 있도록 해주는 것이 EnvVar 👎bad case, 하드코딩된 기본 설정값을 사용하는 방식 예전에 Dockerfile에 대해 공부할 때 사용했던 ENV 명령어로 직접 정의 가능 https://dev-chicken.tistory.com/22 Container Image / 컨테이너 이미지, Kubernetes, Docker, Dockerfile Container Image 컨테이너 이미지는 root filesystem과 이미지 설정 정보로 저장 즉 이미지는 root filesystem에 복사되어 사용.. 2023. 1. 25.
Kubernetes Sidecar Container / 쿠버네티스, 사이드카, 컨테이너, 패턴, pattern Kubernetes Sidecar Container 기존에 사용중인 container의 변경 없이 기능을 확장하기 위해 활용되는 것이 Sidecar container Layer을 나눠서 기능별로 구분하여 사용하면 확장성과 재사용 측면에서 유리 이미 만들어진 container를 활용하여 추가 서비스를 붙이는 것으로, 시간 절약 / 리소스 효율화 등이 목적 독립적으로 구성 -> 확장성, 재사용에 유리한 이유 하나의 pod 에 배치되는 container는 pod의 정보를 공유함 즉, pod에서 내부의 container들이 volume을 공유하고, local network, host IPC를 통해 서로 통신이 가능하다는 뜻 주기적으로 외부에서 GIT정보를 동기화 해야하는 경우 Sidecar container를 .. 2023. 1. 23.
반응형