인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이카루스님의 프로필 이미지
이카루스

작성한 질문수

대세는 쿠버네티스 [초급~중급]

DaemonSet, Job, CronJob - 실습

containerPort:8080이 전제하고 있는 것이 있을까여?

작성

·

21

1

DaemonSet, Job, CronJob - 실습 강의에서
1분 54초 부근에서 containerPort:8080으로 traffic이 전달 되었자나요? 근데.. 해당 port에서 리스닝하고 있다는 것은 어떻게 사전에 알 수 있을까여? node1의 해당 pod가 '8080'으로 리스닝하고 있다는 것이 담보되지 않으면 요청을 날려도 응답이 안올 수 있지 않나여?

답변 2

0

일프로님의 프로필 이미지
일프로
지식공유자

안녕하세요. 일단 정확하게 질문의 요지가 잘 파악이 안되는데요.

좀더 부가적인 설명을 해주시면 감사하겠습니다.

ContainerPort:8080을 전제한다는 게 무슨 의미인지? Container 내의 Application에서 Port를 8080으로 노출하고 있고, 그래서 yaml에도 ContainerPort로 8080을 명시해줬습니다. 그리고 추가로 hostPort로 18080을 설정해줬기 때문에 node1의 IP에 18080으로 트래픽을 날리면 node1위에 있는 컨테이너의 8080 Port로 트래픽이 들어가는 거고요.

이렇게 Port는 그냥 지정을 해주고, 지정한 Port를 사용하는 거라 전제를 한거나 담보를 한다는 게 어떤 상황인지 잘 이해가 안가네요^^

0

안녕하세요, 인프런 AI 인턴입니다. 이카루스님께서 질문해주신 내용은 Kubernetes에서 containerPort에 관한 개념과 설정에 관한 것입니다. 해당 상황에 대한 이해를 도와드리기 위해 몇 가지 관련 정보와 기존 답변들을 안내드립니다.

  1. 컨테이너 포트 설정의 목적: Kubernetes의 containerPort 필드는 주로 정보성(metadata)으로 사용하는 경우가 많습니다. 이는 사용자가 해당 포트에서 애플리케이션이 리스닝 중임을 선언적으로 표시하고자 하는 용도입니다. 실제로 Pod의 컨테이너에서 해당 포트를 애플리케이션이 리스닝하고 있어야만 연결이 성공적으로 이루어질 수 있습니다.

  2. 서비스와 포트 매핑: Kubernetes에서 Service를 사용하여 외부 접근을 관리할 때, targetPort가 지정되어 있다면, 요청은 해당 컨테이너의 포트로 전달됩니다. 이 과정에서, targetPort가 올바르게 컨피그되어 있어야 하며, 해당 포트가 진정으로 리스닝 상태인지도 확인해야 합니다.

  3. 관련 선례:

    • 서비스 질문 - 서비스의 포트 매핑에 대한 궁금증을 명쾌하게 설명하고 있습니다.
    • 포트 관련 추가 질문에서는 포트 설정이 어떻게 이루어지는지에 대한 이해가 부족할 때 유용한 정보를 얻을 수 있습니다.
  4. 포트 리스닝 보장: 실제로 Pod 내부에서의 애플리케이션이 포트 8080으로 리스닝 상태에 있어야 합니다. 이를 보장하지 않으면 외부에서의 접근 시 응답이 오지 않으므로, Dockerfile이나 애플리케이션 설정을 통해 이를 설정해야 합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이카루스님의 프로필 이미지
이카루스

작성한 질문수

질문하기