Kubernetes/06. 쿠버네티스 네트워크 4

[쿠버네티스] 쿠버네티스 인그레스 (ingress) 소개 및 실습

들어가며: 인그레스(Ingress) 란? 인그레스 생성 들어가며: 쿠버네티스에서 서비스를 외부에 노출시키는 방법은 NodePort와 LoadBalancer 서비스 타입 그리고 Ingress(인그레스) 서비스 컨트롤러가 있습니다. NodePort 및 LoadBalancer 서비스는 OSI Layer 4(TCP/UDP)에서 작동하지만, Ingress 리소스는 OSI Layer 7(HTTP/HTTPS)에서 작동합니다. 쿠버네티스에서 외부에 노출시켜야 할 서비스가 많은 경우 NodePort는 각 서비스마다 전용의 포트를 할당해야 하고 LoadBalancer의 경우 외부 로드밸런서가 각 서비스마다 프로비저닝 되어야 합니다. 그러나 Ingress는 HTTP 요청의 주소를 구분해 하나의 인그레스 리소스를 이용해 각 ..

[쿠버네티스] Kubernetes 오브젝트를 이용한 Apache(httpd) 웹서비스 구성

들어가며 replicaSet(Apache[httpd]) 오브젝트 구성 Service(LoadBalancer) 오브젝트 구성 동작 확인 들어가며: ReplicaSet 과 Service 를 먼저 명령형 오브젝트를 이용하여 클러스터를 구성하고 loadbalancer 서비스를 이용하여 웹서비스를 구성해보는 포스트입니다. replicaSet(Apache[httpd]) 오브젝트 구성 vagrant@kube-control1:~/q3$ cat myapp-rs.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: myapp-rs spec: replicas: 3 selector: matchLabels: app: myapp-rs template: metadata: label..

[쿠버네티스] 클러스터 외부 서비스 / loadBalancer

들어가며 외부 서비스용 레플리카셋 생성 및 확인 NodePort 서비스 생성 및 확인 LoadBalancer 서비스 생성 및 확인 ExternalName 서비스 생성 및 확인 들어가며: 쿠버네티스 클러스터에서 웹의 프론트엔드 서비스를 실행하는 파드의 경우 쿠버네티스 클러스터의 외부로 노출시켜 접근 가능하도록 구성해야 합니다. ClusterIP는 클러스터 내부에서 DB와 같이 외부로의 노출이 없어야하는 경우에 사용하기 위함이였습니다. 쿠버네티스 클러스터 외부에서 접근 가능한 서비스 리소스 출력의 필드를 살펴보겠습니다. NodePort NodePort + ClusterIP 쿠버네티스 모든 노드(호스트)에 외부 접근용 포트를 할당 노드의 포트를 사용하여 외부에서 접근 가능 노드의 포트로 접근하면 서비스에 의해..

[쿠버네티스] 클러스터 내부 서비스 / clusterIP

들어가며: 서비스 소개 서비스 생성 서비스 및 엔드포인트 확인 파드 생성 및 엔드포인트 연결 서비스 접근 테스트 서비스의 세션 어피니티 구성 서비스 다중 포트 구성 포트 이름 참조 들어가며 쿠버네티스의 네트워크 형태는 내부용 서비스, 외부 노출용 서비스, 특수한 형태(내부에서 외부로 나갈 때) 등이 있습니다. db와 같이 외부로 노출되면 안되는 컨테이너가 사용하는 클러스터 내부 서비스에 대해 알아보도록 하겠습니다. 파드는 클러스터 외부의 요청이나 클러스터 내부의 다른 파드의 요청에 응답해야 합니다. 또한 파드가 다른 파드에서 제공하는 애플리케이션에 접근하기 위해서는 파드를 찾을 수 있어야 합니다. 쿠버네티스가 아닌 기존의 시스템은 애플리케이션이 동작하는 시스템의 호스트 이름이나 정적 IP를 할당하여 애플..