본문 바로가기

Development, Architecture/Docker, k8s13

[쿠버네티스] 레플리카셋, 데몬셋 레플리카셋파드의 개수관리 - 디플로이먼트가 레플리카셋을 관리하는 컨트롤러 리소스라면 레플리카셋은 파드를 관리하는 컨트롤러 리소스- 그럼 디플로이는 왜 존재하는가? 롤링 업데이트 또는 자동롤백이 가능하려면 디플로이먼트가 있어야됨 롤링 업데이트: 새로운 버전의 애플리케이션을 배포할 때, 중단 없이 파드를 점진적으로 교체할 수 있음. 새로운 파드를 생성하면서 기존 파드를 점진적으로 종료자동 롤백: 배포 도중 문제가 발생하면 이전 버전으로 자동 롤백   데몬셋클러스터 내 모든 노드 또는 셀렉터와 일치하는 일부 노드에서 단일 레플리카 또는 파드로 동작하는 리소스 - 데몬셋을 사용해서 고가용성을 확보하는 예시: 리버스 프록시- 데몬셋은 모든 노드에 nginx 리버스 프록시를 배포함으로써 모든 노드의 고가용성을 제공.. 2024. 7. 27.
[쿠버네티스] 볼륨 종류 1. 공 디렉토리 볼륨 (emptyDir)특징:파드와 동일한 생애 주기: emptyDir 볼륨은 파드가 생성될 때 빈 디렉토리로 생성되고, 파드가 삭제될 때 함께 삭제됩니다.데이터 유지: 파드 내의 컨테이너가 재시작되거나 대체되더라도 데이터는 유지됩니다.임시 스토리지: 주로 캐시, 임시 데이터 저장소 등 일시적인 데이터 저장에 사용됩니다.예시:apiVersion: v1kind: Podmetadata: name: emptydir-examplespec: containers: - name: busybox image: busybox command: ['sh', '-c', 'while true; do sleep 3600; done'] volumeMounts: - mountPath: /d.. 2024. 7. 27.
[쿠버네티스] 서비스 유형별 정리 1. ClusterIP용도: 파드 간 통신서비스가 생성되면 k8s 내부 DNS 서버에 서버 IP 주소가 등록됨 사실 서비스가 없어도 파드의 IP를 직접 알아내어 파드 간 통신을 할 수 있음. 하지만 이러면 재생성된 파드에 대해 대응을 못함(IP가 바뀌어서) name: api-serviceport 80targetPort 80selector: numbers_api 2. LoadBalancer용도: 외부 트래픽 전달 spec:  ports:    - port: 8080         # 서비스가 주시하는 포트     - targetPort: 80   # 트래픽이 전달될 파드의 포트  selector:    app: numbers-web  3. NodePort용도: 외부 트래픽을 전달하는 또다른 방법(실제론 잘.. 2024. 7. 22.
[Docker] 도커 컨테이너의 볼륨 개념을 알아보자. 도커(Docker)에서 볼륨(Volume)은 컨테이너와 호스트 간 데이터를 공유하기 위한 기능입니다. 원래 컨테이너 내의 데이터는 컨테이너가 삭제되는 순간 아예 사라져버립니다. 컨테이너는 호스트와 연관되지 않고 데이터를 독립적으로 가지고 있기 때문이죠. 하지만 볼륨을 사용하게되면 컨테이너가 삭제되더라도 호스트에 데이터를 유지할 수 있기 때문에, 데이터의 지속성(Persistence)을 보장할 수 있습니다. 볼륨은 다양한 종류의 저장소를 사용할 수 있습니다. 도커 내장 드라이버인 local, NFS, Amazon EBS, Azure Disk 등 다양한 드라이버를 사용할 수 있습니다. 또한, 호스트 경로나 다른 컨테이너의 볼륨을 공유할 수도 있습니다. 볼륨을 생성하는 방법에는 크게 두 가지가 있습니다. 첫 .. 2023. 3. 18.
[Docker] 도커와 포트 포워딩(Port fowarding) 기본적으로 도커 컨테이너(Container)는 외부에서 접근할 수 없습니다. 이는 도커의 기본 보안 설정 중 하나로, 컨테이너 내부에 있는 애플리케이션이 외부와 통신하는 것을 제한하기 위한 것입니다. 하지만 외부에서 컨테이너에 접근해야 할 필요가 있을 경우, 다양한 방법을 사용하여 컨테이너에 접근할 수 있습니다. 가장 일반적인 방법은 "포트 포워딩(Port forwarding)"이며, 이를 사용하면 호스트의 포트와 컨테이너의 포트를 매핑하여 외부에서 접근할 수 있도록 할 수 있습니다. 포트 포워딩(Port forwarding)은 호스트와 도커 컨테이너(Container) 간의 포트를 매핑하여, 외부에서 호스트의 포트로 접근하면 해당 컨테이너의 포트로 연결해주는 방법입니다. * 호스트란? 더보기 도커(Do.. 2023. 3. 18.
[쿠버네티스] k8s 기본 개념 정리 참고 도서: 그림과 실습으로 배우는 도커&쿠버네티스 저자: 오가사와라 시게타카 옮긴이: 심효섭 출판사: 위키북스 * kubernetes는 k와 s 사이에 8개의 문자가 들어간다고 해서 k8s로 많이 부름 ------- 목차 --------------------- 쿠버네티스란? 마스터 노드와 워커 노드 쿠버네티스 용어 정리 매니페스트 파일 작성 쿠버네티스 명령어 ---------------------------------- 쿠버네티스란? 컨테이너 오케스트레이션 도구의 일종. 이때 오케스트레이션이란 시스템 전체를 통괄하고 여러 개의 컨테이너를 관리하는 일을 의미함 쿠버네티스는 번거로운 컨테이너 생성이나 관리의 수고를 덜어주는 기구 마스터 노드와 워커 노드 마스터 노드: 전체적인 제어를 담당. 컨테이너를 실행.. 2022. 10. 4.