inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

대세는 쿠버네티스 (초급~중급편)

[중급편] Networking - src-pod에서 dest-pod로 트래픽을 전달할 때 어째서 80 port가 아닌 8080 port를 사용하나요?

해결된 질문

275

눈물이많아요

작성한 질문수 7

1

안녕하세요 강사님.

먼저 좋은 강의에 감사드립니다.
이해가 가지 않는 부분이 있어서 문의 드립니다.

pod-dest의 container port는 80 입니다.
그런데 80으로는 curl 요청이 보내지지 않고, 8080에는 보내지네요?
어떤 부분에서 제가 착각하고 있는지 설명 부탁 드립니다.

apiVersion: v1
kind: Pod
metadata:
  name: pod-src
  labels:
    type: src  
spec:
  nodeSelector:
    kubernetes.io/hostname: worker-1
  containers:
  - name: container
    image: kubetm/init
    ports:
    - containerPort: 8080
---
apiVersion: v1
kind: Pod
metadata:
  name: pod-dest
  labels:
    type: dest
spec:
  nodeSelector:
    kubernetes.io/hostname: wroker-2
  containers:
  - name: container
    image: kubetm/app
    ports:
    - containerPort: 80

 

docker kubernetes

답변 2

1

일프로

 

추가적으로,

마침 현재 만들고 있는 강의에서 해당 내용을 설명하고 있어서 부가 설명을 드리면,

image

Service의 port (80)으로 호출시 targetPort로 포워딩 됩니다.

Service의 targetPort에는 8080으로 입력하거나 http로도 입력할 수 있는데

8080으로 입력했을 경우 바로 Container의 port를 호출해요.

이렇게만 쓸 경우 Pod에 ports자체를 다 지우고 안써도 됩니다.

근데 단점으로 Container의 port가 변경이 될 경우, 이건 Pod의 변경사항인데, Service까지 변경을 해줘야 되요.

근데 Service의 targetPort를 http라고 쓸 경우, Pod에는 반드시 ports에 name이 있어야 되고, containerPort까지 8080으로 넣어야지, Service를 호출했을 때 Pod에 포워딩이 됩니다.

그렇기 때문에 Service에서 name으로 Pod에 포트포워딩을 했을 경우에는 단순 정보성은 아니라, 필수값이라고 말씀드릴 수 있어요.

그리고 Pod와 Service간에 연결 종속성을 최대한 줄이기 위해서 실제 이렇게도 많이 쓰입니다.

 

 

0

눈물이많아요

추가 설명 감사드립니다. 곱씹으면서 여러 번 읽어도 잘 이해가 가지 않네요. 더 공부를 하고 시간이 지나야 설명해주신 내용을 이해할 것 같습니다. (아니면, 새로운 준비하시는 강의를 미래에 제가 수강하거나요.)

결국, 중요한 요점은 Service와 Pod를 연결 시 http로 연결한 경우 containerPort 속성이 단순 정보성이 아니다라는 말씀으로 이해했습니다. 친절하고 자세한 답변 감사드립니다.

1

일프로

안녕하세요.

일단 제 강의 자료에 containerPort: 80 부분이 잘못됐네요. 8080으로 변경해야 되고요

Pod에 containerPort는 단지 [정보성]입니다.

실제 Container에서 8080으로 App을 기동 시켜놨기 때문에, 이 포트로 호출되는 거예요.

 

0

눈물이많아요

감사합니다. 아래 Stackoverflow 답변에서도 마찬가지로 정보성에 관한 말을 하는군요

kubeTM Blog는 없어진건가요????

1

28

2

yml 작성하다가 에러 발생해서 문의 드립니다.

0

43

2

설치수업중에 질문드립니다.

1

60

2

기초다지기 설치 문의드립니다.

1

110

4

HPA 부분 Auto Scaler 설치하는 링크가 없습니다!!

1

67

3

클러스터 초기화 및 팟 네트워크 세팅시 문제가 있습니다

1

103

1

환경 구성에 있어서 질문드립니다

1

94

2

configMap 파일생성

1

79

2

dashboard에서 pod 생성이 되지 않습니다.

1

80

2

nodePort 서비스 접근 Client sent an HTTP request to an HTTPS server

1

76

2

대시보드 화면이 달라요 ㅠㅠ

1

62

2

대시보드 접근이 안됩니다!

1

100

2

Ingress실습에 난관이 있습니다

1

70

2

master 노드에서 ssh 로그인 창이 안뜨는 오류

1

85

3

안녕하세요 일프로님 궁금한 거 있습니다

0

53

1

7강 마지막 대시 보드 출력에 관한 문제

1

57

2

Could not resolve host: externalname1; Unknown error

0

61

2

Failed to create pod sandbox

1

92

2

자료실을 못 찾겠습니다 ㅜ ㅡ ㅜ

0

59

2

0/3 nodes are available

1

58

2

Back-off restarting fail~~

1

106

4

쿠버네티스 대시보드 접속 문제

1

90

2

설치관련 질문입니다

1

118

2

raw.githubusercontent.com 에 대한 질문

1

143

2