쿠버네티스의 Ingress

2025. 10. 30. 16:17·개발 공부/k8s

Ingress 개념 및 기본 사용

  • Ingress는 서비스를 확인한 후 pod로 트래픽을 전달해주는 역할을 함
    • 일종의 service의 규칙이라고 생각하면 편함

  • Ingress controller에서 트래픽을 보내줌
    • ClusterRole과 Binding으로 pod를 조회할 수 있는 권한을 받음
  • Ingress와 service를 연결하는 Ingress Class가 존재함

Nginx 사용 시 마주하게 되는 상황들과 해결 방법

  • https 설정을 걸 때는 TLS 설정이 필요함
    • 해당 인증서를 Ingress, nginx, LoadBalancer 에 설정이 가능함
    • Ingress는 해당 service만 걸리고 nginx로 하면 nginx를 통하는 모든 트래픽이 LoadBalancer는 외부에서 들어오는 트래픽을 암호화할 수 있음
      • LoadBalancer를 이용할 경우 외부 트래픽과 LoadBalancer 사이에만 암호화가 적용됨
        • 이미 회사의 내부망으로 들어왔기에 상관없지만 만약 node가 여러 곳에 존재한다면 인터넷을 통하게 되기 때문에 안됨
  • 인증서는 공인 인증서와 사설 인증서가 존재함
  • Ingress의 path의 경우 같은게 겹칠 수 있기에 각자의 prefix로 고유의 path를 주는 편임
  • nginx를 사용할 시 http를 자동으로 https로 전환해주는 거나 분산 방식을 바꿀 수 있음
    • service의 기본은 round-robin이나 ewma와 같은 것을 사용하면 트래픽에 따라 분산 가능함

세션이란?

  • 세션이란 사용자와 서버 간의 연결 상태를 일정 시간 동안 유지하기 위한 단위로 서비스에 필요한 정보를 임시로 저장하는 것이라 보면 됨
  • 기본적으로 마이크로 서비스에는 여러 서버를 쓰기 때문에 사용자마다 따로 세션을 저장할 필요가 있음

세션 어피니티와 트래픽 폴리쉬

  • 세션 어피니티는 위에 있었던 세션 전략 중 세션 어피니티를 구현한 것이라 보면 됨
    • 단점이 있기에 잘 사용되지 않음
  • 트래픽 폴리쉬는 internal과 external이 존재함
    • internal은 내부의 통신으로 Cluster를 주면 다른 노드까지 되지만 Local은 같은 노드로만 트래픽 전달이 가능함
    • external은 외부에서오는 통신으로 Local은 같은 노드로만 트래픽 전달, Cluster는 외부 노드로 트래픽 전달이 가능해짐
      • external traffic policy와 Local 그리고 nginx의 DaemonSet을 조합하면 트래픽이 들어올 때 같은 노드로만 트래픽을 전달하면 되기 때문에 네트워크 홉수를 줄일 수 있어 효율이 향상됨

 

출처: https://inf.run/Ln688

저작자표시 (새창열림)

'개발 공부 > k8s' 카테고리의 다른 글

쿠버네티스의 패턴  (0) 2025.11.05
쿠버네티스의 PVC, PV  (0) 2025.11.01
쿠버네티스의 Service  (0) 2025.10.27
Pod에서 알아야할 기능들  (0) 2025.10.25
통일감 있는 로컬 개발 환경 세팅하기  (0) 2025.10.20
'개발 공부/k8s' 카테고리의 다른 글
  • 쿠버네티스의 패턴
  • 쿠버네티스의 PVC, PV
  • 쿠버네티스의 Service
  • Pod에서 알아야할 기능들
Jamey
Jamey
  • Jamey
    컴공 대학생의 이야기
    Jamey
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 개발 공부 (33)
        • k8s (24)
        • kafka (8)
        • AI (1)
      • 개발기 (2)
      • 프로젝트 홍보 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    토픽
    llm최적화
    Graphana
    Kubernetes
    Kafka
    cloudflare workers
    serialDB
    consumer
    Rag
    Producer
    sql자동화
    langchain
    조인 쿼리
    Jenkins
    K8S
    topic
    카프카
    current offset
    AI
    Linux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Jamey
쿠버네티스의 Ingress
상단으로

티스토리툴바