GCP GKE Kubernetes 인그레스(Ingress), 노드포트(Nodeport) 접속

2023. 10. 27. 16:40·Cloud & Architecture/Kubernetes
목차
  1. 1. 노드 포트
  2. 2. 파드 생성 (디플로이먼트)
  3. 3. 서비스 생성
  4. 4. 인그레스 생성
  5. 5. 접속
728x90

MSA (Micro Service Architecture) 로 개발되어 서비스간의 라우팅이 필요한 구조에서는 Ingress 를 사용
 Service의 NodePort : 온프레미스 환경에서 사용
Service의 LoadBalancer: 퍼블릭 클라우드 환경에서 사용
Servic는 클러스터 외부로 PORT를 노출하는 기능과 부하분산기능을 수행합니다. 그리고 이점은 Ingress 도 동일합니다. 차이점은 Ingress는 L7이고 Service는 L4라는 점입니다.

 

1. 노드 포트

 

2. 파드 생성 (디플로이먼트)

vi web-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
  namespace: default
spec:
  selector:
    matchLabels:
      run: web
  template:
    metadata:
      labels:
        run: web
    spec:
      containers:
      - image: gcr.io/google-samples/hello-app:1.0
        imagePullPolicy: IfNotPresent
        name: web
        ports:
        - containerPort: 8080
          protocol: TCP

 

kubectl apply -f web-deployment.yaml

 

kubectl get deploy

 

 

3. 서비스 생성

vi web-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: web
  namespace: default
spec:
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    run: web
  type: NodePort

 

kubectl apply -f web-service.yaml

 

kubectl get svc

 

 

4. 인그레스 생성

vi basic-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: basic-ingress
spec:
  rules:
  - http:
      paths:
      backend:
         service: 
            name : web
            port: 
              number: 8080
      path: /
      pathType: Prefix

 

kubectl apply -f basic-ingress.yaml

 

kubectl get ingress

 

작업부하 > web > 개요 > 노출중인 서비스

 

5. 접속

 

1) 노드포트 [노드IP]:[노드포트]

GKE에서 쿠버네티스를 사용하는 경우 각 노드의 랜덤한 포트에 접근하기 위해 별도로 방화벽 설정을 추가해야 합니다. AWS에서도 마찬가지로 Security Group의 별도의 Inbound 규칙을 추가해야 합니다.
gcloud compute firewall-rules create sun-nodeport-svc --allow=tcp:30650

 

 


실제 운영 환경에서 NodePort로 서비스를 외부에 제공하는 경우는 많지 않습니다.
 SSL 인증서 적용 라우팅과 같은 복잡한 설정을 서비스에 적용하는 것은 어렵기 때문입니다.

 

2) 인그레스 [인그레스IP]/[url]


LoadBalancer 타입의 서비스는 서비스를 생성함과 동시에 로드 밸런서를 새롭게 생성해 pod와 연결합니다. Nodeport는 각 노드의 IP를 알아야 pod에 접근할 수 있지만, LoadBalancer 타입의 서비스는 클라우드 플랫폼으로부터 도메인 이름과 IP를 할당받기 때문에 Nodeport보다 쉽게 pod에 접근할 수 있습니다.
 
단, 로드 밸런서를 동적으로 생성하는 기능을 제공하는 환경에서만 사용할 수 있습니다. AWS, GCP 등과 같은 클라우드 플랫폼 환경에서만 LoadBalancer 타입을 사용할 수 있으며, 가상 환경이나 온프레미스 환경에서는 사용이 어려울 수 있습니다.
온프레미스 환경에서 LoadBalancer 타입의 서비스를 사용하기 위해서는 MetalLB나 오픈스택과 같은 특수한 환경을 직접 구축해야 합니다. 

 

 

 

728x90
  1. 1. 노드 포트
  2. 2. 파드 생성 (디플로이먼트)
  3. 3. 서비스 생성
  4. 4. 인그레스 생성
  5. 5. 접속
'Cloud & Architecture/Kubernetes' 카테고리의 다른 글
  • Kubernetes 인그레스(Ingress), 로드밸런서 LoadBalancer, metallb
  • 쿠버네티스(Kubernetes) 배포 업데이트, 롤백
  • GCP Kubernetes GKE Pod 레플리카셋, Deployment
  • GCP Kubernetes GKE Pod 생성, 배포, 접속
Karla Ko
Karla Ko
𝘾𝙤𝙣𝙩𝙞𝙣𝙪𝙤𝙪𝙨𝙡𝙮 𝙄𝙢𝙥𝙧𝙤𝙫𝙞𝙣𝙜, 𝘾𝙤𝙣𝙨𝙩𝙖𝙣𝙩𝙡𝙮 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙞𝙣𝙜 𝙔𝙚𝙨!
    250x250
  • Karla Ko
    karlaLog
    Karla Ko
  • 전체
    오늘
    어제
    • Total (467)
      • Spring (19)
      • JPA (4)
      • Cloud & Architecture (15)
        • Kubernetes (5)
        • Docker (3)
        • MSA (2)
        • GCP (1)
        • AWS (4)
      • Devops (1)
      • Message Queue (4)
        • Kafka (2)
        • RabbitMQ (2)
      • Git (4)
      • DB (4)
      • Java (9)
      • Python (4)
      • CS (11)
        • OS (8)
        • Network (2)
        • Algorithm (1)
      • Coding Test (392)
        • programmers (156)
        • Graph (43)
        • DP (37)
        • Search (31)
        • Tree (13)
        • Data Structure (26)
        • Combination (12)
        • Implement (18)
        • Geedy (23)
        • Sort (7)
        • Math (21)
        • geometry (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정렬
    다익스트라
    BFS
    파이썬
    덱
    구현
    최소신장트리
    조합
    큐
    구간합
    스택
    최대공약수
    재귀
    최단거리
    힙
    동적계획법
    DP
    프로그래머스
    트리
    Algorithm
    플로이드워셜
    그래프
    이분탐색
    자료구조
    월간코드챌린지
    그리디
    LIS
    DFS
    백준
    알고리즘
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
GCP GKE Kubernetes 인그레스(Ingress), 노드포트(Nodeport) 접속
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.