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

corp.starcoex님의 프로필 이미지

작성한 질문수

데브옵스(DevOps)를 위한 쿠버네티스 마스터

노드포트로 서비스하기 실습

NodePord local 환경에서 안됨

작성

·

259

0

안녕하세요
우분투 22.04에서 cilium환경 설정이 안되어서 우분투 20.04로 다시 설치해서 사용하고 있습니다.

저는 로컬환경에서 우분투 20.04 라이브서버 4대
마스터 1대 워커 3대

노드포트 서비스 실습을 하면 방화벽 30001를 마스터에서 허용해도 curl ~~ 하면

curl: (7) Failed to connect to 175.207.200.124 port 30001: Connection refused

로컬환경에서는 nodePort로 어떻게 하면 사용이 가능할까요?

참고로 공유기 포트는 다 열어져 있습니다.

➜ yaml kubectl get nodes -o wide

NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME

starcoex-first Ready control-plane 6d18h v1.28.2 192.168.10.4 <none> Ubuntu 20.04.6 LTS 5.4.0-172-generic containerd://1.6.28

starcoex-four Ready <none> 6d18h v1.28.2 192.168.10.102 <none> Ubuntu 20.04.6 LTS 5.4.0-172-generic containerd://1.6.28

starcoex-second Ready <none> 6d18h v1.28.2 192.168.10.100 <none> Ubuntu 20.04.6 LTS 5.4.0-172-generic containerd://1.6.28

starcoex-three Ready <none> 6d17h v1.28.2 192.168.10.101 <none> Ubuntu 20.04.6 LTS 5.4.0-172-generic containerd://1.6.28

 

➜ yaml kubectl get svc -o wide

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR

http-go-svc NodePort 10.110.165.249 <none> 80:30001/TCP 15m app=http-go

kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 18h <none>

 

공유기 외부 ip

175.207.200.124, 112.184.55.51, 112.184.55.52, 112.184.55.57

답변 2

0

안녕하세요 starcoex님

 

남겨주신 정보에 보니 Endpoints가 비어있습니다. 이것은 파드와 서비스가 연결되지 않다는 것을 의미합니다.

image

다음 명령으로 app=http-go 레이블이 달려있는 애플리케이션이 배포되어 있는지 확인해보시기 바랍니다.

kubectl get pod -l app --show-labels

 

<none>이 아니라 파드의 IP 목록이 있어야 합니다! 그래야 정상입니다~

 

감사합니다!

0

안녕하세요 starcoex님

요청하신 내용을 잘 살펴봤는데

  1. 함께 첨부해주신 IP가 노드의 실제 IP거나 포트포워딩 해주는 상태인가요? 핑은 되고 있네요??

  2. 추가로 노드에서 curl 127.0.0.1:30001 로 통신하시면 잘 되시는지 확인부탁드립니다. 해당 노드에서 ip addr 명령에 대한 결과도 있으면 좋을것 같구요~ kubectl describe svc http-go-svc 명령으로 레이블을 사용해 endpoint를 통해서 파드와 잘 연결되었는지 확인도 필요해보입니다.

     

제한적인 정보라 완벽하게 답변드리기는 어렵네요 ㅠㅠ

위 정보를 토대로 다시 한 번 점검해보시고 다시 말씀 주시면 감사하겠습니다.

감사합니다! 좋은 하루되세요~

 

corp.starcoex님의 프로필 이미지
corp.starcoex
질문자

➜  yaml ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 98:25:4a:5e:c1:9a brd ff:ff:ff:ff:ff:ff
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 64:51:06:3c:79:ad brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.4/24 brd 192.168.10.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::6651:6ff:fe3c:79ad/64 scope link
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:9c:e5:4b:41 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:9cff:fee5:4b41/64 scope link
       valid_lft forever preferred_lft forever
5: cilium_net@cilium_host: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 2e:b7:14:44:a9:ba brd ff:ff:ff:ff:ff:ff
    inet6 fe80::2cb7:14ff:fe44:a9ba/64 scope link
       valid_lft forever preferred_lft forever
6: cilium_host@cilium_net: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether da:2f:73:77:17:e2 brd ff:ff:ff:ff:ff:ff
    inet 10.0.3.1/32 scope global cilium_host
       valid_lft forever preferred_lft forever
    inet6 fe80::d82f:73ff:fe77:17e2/64 scope link
       valid_lft forever preferred_lft forever
7: cilium_vxlan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 02:25:cb:32:81:08 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::25:cbff:fe32:8108/64 scope link
       valid_lft forever preferred_lft forever
15: lxc_health@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 1e:77:49:73:a8:17 brd ff:ff:ff:ff:ff:ff link-netnsid 3
    inet6 fe80::1c77:49ff:fe73:a817/64 scope link
       valid_lft forever preferred_lft forever
➜  yaml kubectl describe svc http-go-svc
Name:                     http-go-svc
Namespace:                default
Labels:                   <none>
Annotations:              <none>
Selector:                 app=http-go
Type:                     NodePort
IP Family Policy:         SingleStack
IP Families:              IPv4
IP:                       10.110.165.249
IPs:                      10.110.165.249
Port:                     <unset>  80/TCP
TargetPort:               8080/TCP
NodePort:                 <unset>  30001/TCP
Endpoints:                <none>
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

 

 

  1. 모든 공유기에서 포트포워딩은 30000 ~ 37267번까지 열려 있습니다.

➜ yaml ping 127.0.0.1:30001

ping: 127.0.0.1:30001: Name or service not known
참고로 ping 127.0.0.1 잘 됩니다.