Kubernetes: nodePort๊ฐ€ ๋ชจ๋“  nodeIP์—์„œ ์‘๋‹ตํ•˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2017๋…„ 02์›” 28์ผ  ยท  1๋…ผํ‰  ยท  ์ถœ์ฒ˜: kubernetes/kubernetes

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฒ„์ „ :
ํด๋ผ์ด์–ธํŠธ ๋ฒ„์ „: version.Info{์ฃผ:"1", ๋ถ€:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState::"clean", BuildDate-0401-211 25Z", GoVersion:"go1.7.4", ์ปดํŒŒ์ผ๋Ÿฌ:"gc", ํ”Œ๋žซํผ:"darwin/amd64"}
์„œ๋ฒ„ ๋ฒ„์ „: version.Info{์ฃผ:"1", ๋ถ€:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"23145T 56Z", GoVersion:"go1.7.4", ์ปดํŒŒ์ผ๋Ÿฌ:"gc", ํ”Œ๋žซํผ:"linux/amd64"}

๋งˆ์Šคํ„ฐ ๋ฐ ๋ฏธ๋‹ˆ์–ธ์˜ Docker ๋ฒ„์ „ :
$ ๋„์ปค -v
Docker ๋ฒ„์ „ 1.13.1, ๋นŒ๋“œ 092cba3

ํ™˜๊ฒฝ :

  • ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž ๋˜๋Š” ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ :
    VM์›จ์–ด
  • OS (์˜ˆ: /etc/os-release):
    NAME="์šฐ๋ถ„ํˆฌ"
    VERSION="16.04 LTS(์ œ๋‹ˆ์–ผ ์ œ๋ฃจ์Šค)"
    ์•„์ด๋””=์šฐ๋ถ„ํˆฌ
    ID_LIKE=๋ฐ๋น„์•ˆ
    PRETTY_NAME="์šฐ๋ถ„ํˆฌ 16.04 LTS"
    VERSION_ID="16.04"
    ํ™ˆ_URL=" http://www.ubuntu.com/ "
    SUPPORT_URL=" http://help.ubuntu.com/ "
    BUG_REPORT_URL=" http://bugs.launchpad.net/ubuntu/ "
    UBUNTU_CODENAME=์ œ๋‹ˆ์–ผ
  • ์ปค๋„ (์˜ˆ: uname -a ):
    Linux knode-master 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • ๋„๊ตฌ ์„ค์น˜ :
    kubeadm

  • ๊ธฐํƒ€ :

๋ฌด์Šจ ์ผ์ด ์žˆ์—ˆ๋Š”์ง€ :
kubeadm ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 3๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

$ kc describe nodes | awk '/Addresses/ {print $2}' | awk -F',' '{print $3}' 
knode-0
knode-1
knode-master

์„ค์น˜๋œ ์šดํ•˜ ํฌ๋“œ ๋„คํŠธ์›Œํฌ:

kubectl create -f https://raw.githubusercontent.com/tigera/canal/master/k8sinstall/kubeadm/canal.yaml

์ด๋•Œ ๋…ธ๋“œ, ์„œ๋น„์Šค, ํฌ๋“œ๋Š” ์ •์ƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€์‹œ๋ณด๋“œ๋กœ ์ด๋™

kubectl create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml

$ kubectl get -n kube-system services
NAME                   CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
canal-etcd             10.96.232.136    <none>        6666/TCP        5m
kube-dns               10.96.0.10       <none>        53/UDP,53/TCP   13h
kubernetes-dashboard   10.110.163.186   <nodes>       80:31699/TCP    1m

์˜ˆ์ƒํ–ˆ๋˜ ์ผ :
Services doc์˜ nodePort ์„น์…˜ ์€ nodePort๊ฐ€ ๋ชจ๋“  nodeIP์—์„œ ๋ณด์—ฌ์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์ œ ๊ฒฝ์šฐ์—๋Š” ๋ชจ๋“  nodeIP๊ฐ€ ๋Œ€์‹œ๋ณด๋“œ์˜ nodePort 31699์— ๋Œ€ํ•œ ์š”์ฒญ์— ์‘๋‹ตํ•˜๊ณ  ์ด๋ฅผ ๋Œ€์‹œ๋ณด๋“œ ํฌ๋“œ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
ํฌ๋“œ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋…ธ๋“œ(๋˜๋Š” ๋ฏธ๋‹ˆ์–ธ)๋งŒ ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ์— ์‘๋‹ตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋…ธ๋“œ(๋˜๋Š” ๋ฏธ๋‹ˆ์–ธ)๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์žฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• (๊ฐ€๋Šฅํ•œ ํ•œ ์ตœ์†Œํ•œ์œผ๋กœ ๊ทธ๋ฆฌ๊ณ  ์ •ํ™•ํ•˜๊ฒŒ):

_knode-1(๋ฏธ๋‹ˆ์–ธ)์—์„œ:_

$ sudo docker ps -a | grep dashboard
79e23eff2c26        gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1   "/dashboard --port..."   44 minutes ago      Up 43 minutes 

_ํด๋Ÿฌ์Šคํ„ฐ ์™ธ๋ถ€์˜ ๋Œ€์‹œ๋ณด๋“œ์— ๋Œ€ํ•œ ์ปฌ ์•ก์„ธ์Šค:_

_knode-0:31699์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ์‹œ๊ฐ„์ด ์ดˆ๊ณผ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

$ curl -m 2 -O http://knode-0:31699/#/workload?namespace=default
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0curl: (28) Connection timed out after 2003 milliseconds

knode-1:31699์—์„œ ์„ฑ๊ณต์ ์œผ๋กœ ๋‹ค์šด๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

$ curl -m 2 -O http://knode-1:31699/#/workload?namespace=default
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   811  100   811    0     0  18097      0 --:--:-- --:--:-- --:--:-- 18431

*iptables * :

_knode-1์—์„œ (nodePort 31699 ์•ก์„ธ์Šค ๊ฐ€๋Šฅ):_

$ sudo iptables-save | grep dashboard
-A KUBE-NODEPORTS -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp --dport 31699 -j KUBE-MARK-MASQ
-A KUBE-NODEPORTS -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp --dport 31699 -j KUBE-SVC-XGLOHA7QRQ3V22RZ
-A KUBE-SEP-4CN2KLL64AIMJOUC -s 192.168.92.6/32 -m comment --comment "kube-system/kubernetes-dashboard:" -j KUBE-MARK-MASQ
-A KUBE-SEP-4CN2KLL64AIMJOUC -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp -j DNAT --to-destination 192.168.92.6:9090
-A KUBE-SERVICES -d 10.110.163.186/32 -p tcp -m comment --comment "kube-system/kubernetes-dashboard: cluster IP" -m tcp --dport 80 -j KUBE-SVC-XGLOHA7QRQ3V22RZ
-A KUBE-SVC-XGLOHA7QRQ3V22RZ -m comment --comment "kube-system/kubernetes-dashboard:" -j KUBE-SEP-4CN2KLL64AIMJOUC

_knode-0์—์„œ(nodePort 31699 ์•ก์„ธ์Šค ๋ถˆ๊ฐ€):_

$ sudo iptables-save | grep dashboard
-A KUBE-NODEPORTS -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp --dport 31699 -j KUBE-MARK-MASQ
-A KUBE-NODEPORTS -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp --dport 31699 -j KUBE-SVC-XGLOHA7QRQ3V22RZ
-A KUBE-SEP-4CN2KLL64AIMJOUC -s 192.168.92.6/32 -m comment --comment "kube-system/kubernetes-dashboard:" -j KUBE-MARK-MASQ
-A KUBE-SEP-4CN2KLL64AIMJOUC -p tcp -m comment --comment "kube-system/kubernetes-dashboard:" -m tcp -j DNAT --to-destination 192.168.92.6:9090
-A KUBE-SERVICES -d 10.110.163.186/32 -p tcp -m comment --comment "kube-system/kubernetes-dashboard: cluster IP" -m tcp --dport 80 -j KUBE-SVC-XGLOHA7QRQ3V22RZ
-A KUBE-SVC-XGLOHA7QRQ3V22RZ -m comment --comment "kube-system/kubernetes-dashboard:" -j KUBE-SEP-4CN2KLL64AIMJOUC

๊ธฐํƒ€ ์•Œ์•„์•ผ ํ•  ์‚ฌํ•ญ:

RHEL 7.3์—์„œ ๋™์ผํ•œ ๋™์ž‘์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

sinetwork

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
iptables -P FORWARD ACCEPT ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ docker v1.13.1๊ณผ ํ†ตํ•ฉํ•  ๋•Œ ๋ฒ„๊ทธ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

>๋ชจ๋“  ๋Œ“๊ธ€

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
iptables -P FORWARD ACCEPT ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ docker v1.13.1๊ณผ ํ†ตํ•ฉํ•  ๋•Œ ๋ฒ„๊ทธ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰