본문 바로가기

Container7

5.1. Cluster 내부 서비스 pod는 클러스터 외부의 요청이나 클러스터 내부의 다른 파드의 요청에 응답해야한다. pod가 다른 pod에서 제공하는 애플리케이션을 사용하기 위해서는 다른 pod를 찾을 수 있어야 한다. 정적 IP를 할당할수 없다. -> 서비스를 통해서 통신한다. 서비스는 IP를 가지고 있고 이름으로도 통신이 가능하다. pod --------> service --------> pod service에서 replicaset이나 replicationcontroller로 연결되는것이 아니라 pod에 연결된다. service는 pod들과 연결이 되는데 서비스와 파드가 연결되면 Endpoint가 만들어진다. label을 기준으로 통신한다. 1. 서비스 소개 서비스는 쿠버네티스 시스템에서 같은 애플리케이션을 실행하고 있는 컨트롤러의.. 2020. 8. 3.
4.2. Replication Controller kubernetes의 컨트롤러는 파드를 올바르게 동작하기 위해 특정 상태를 보장하기 위한 기능이다. 특정 상태는 컨트롤러에 따라 동작하는 방식 및 정의하는 상태에 따라 다르다. 1. replication controller란? 파드가 특정 개수만큼이 복제되고 동작하는 것을 보장한다. 최신 버전에서는 잘 쓰지 않는다. label을 수정하면 label이 달라지기 때문에 복제본을 새로 만든다 -> 복제본이 하나 없어졌다고 판단하기 때문에 노드에 문제가 발생했거나 파드가 문제가 생겨 원하는 수의 파드가 동작하지 않는다면 자동으로 스케줄러에 의해 새로운 노드나 기존 노드에 다시 새로운 파드를 생성해 원하는 수의 파드를 복제해서 동작시킨다. 파드가 원하는 수보다 많은 경우에도 원하는 파드 수로 맞춘다. --> 불필.. 2020. 7. 24.
Pod pod는 kubernetes의 기본 구성 요소이다. kubernetes cluster 내에서 애플리케이션을 배포하며 동작하는 프로세스이다. kubernetes의 object 모델 중에서 만들고 배포할 수 있는 가장 작은 단위이다. 하나 이상의 컨테이너가 들어갈 수 있다. -> 각각 다른 기능으로 동작해야한다. pod의 컨테이너는 같은 노드에서만 동작한다. 하나의 pod에 하나의 container가 생성되는게 일반적. IP는 pod에만 할당된다. 컨테이너들은 volume을 공유할 수 있다. 같은 pod의 컨테이너는 네트워크를 공유하고 볼륨도 공유할 수 있다. 1. pod 정의 pod를 생성할 수 있는 YAML 파일을 작성해보자 # myapp-pod.yml apiVersion: v1 kind: Pod met.. 2020. 7. 23.
Container와 Kubernetes 소개 1. 모놀리식 아키텍처 Monolithic Architecture(레거시 시스템) 기능이 한 번에 다 들어있다. 하나의 기능을 위해 다른 기능까지 수정해야 할 수 있다. 장점 간단한 개발 간편한 배포 단순한 확장성 -> 코드의 확장. -> 결국 재배포를 해야 한다.. 단점 코드 품질이 낮아짐 애플리케이션 시작이 오래 걸림 애플리케이션의 지속적인 배포가 어려움 어플리케이션의 확장이 어려움 컴포넌트별 개발의 어려움 다양한 기술 적용의 어려움 2. 마이크로 서비스 아키텍처 기능별로 서비스를 더 세밀화한다. 세분화되고 독립적으로 작동하는 방식 사용. 나눠놓은 상태에서 서로 통신할 수 있는 인터페이스를 만들어 놓는다 -> API 동기방식과 비동기 방식이 존재한다. 참고로 Openstack은 비동기! 동기방식 (H.. 2020. 7. 22.