Kubernetes: рдиреЛрдбрдкреЛрд░реНрдЯ рд╕рднреА рдиреЛрдбрдЖрдИрдкреА рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдлрд╝рд░ре░ 2017  ┬╖  1рдЯрд┐рдкреНрдкрдгреА  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubernetes

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг :
рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг: рд╕рдВрд╕реНрдХрд░рдгред рдЬрд╛рдирдХрд╛рд░реА {рдореЗрдЬрд░: "1", рдорд╛рдЗрдирд░: "5", рдЧрд┐рдЯрд╡рд░реНрд╕рди: "v1.5.2", рдЧрд┐рдЯрдХреЙрдорд┐рдЯ: "08e099554f3c31f6e6f07b448ab3ed78d0520507", рдЧрд┐рдЯрдЯреНрд░реАрд╕реНрдЯреЗрдЯ: "рдХреНрд▓реАрди", рдмрд┐рд▓реНрдбрдбреЗрдЯ: "2017-01-12T04:57: 25Z", GoVersion: "go1.7.4", рдХрдВрдкрд╛рдЗрд▓рд░: "gc", рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: "рдбрд╛рд░реНрд╡рд┐рди/amd64"}
рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: рд╕рдВрд╕реНрдХрд░рдгред рдЬрд╛рдирдХрд╛рд░реА {рдореЗрдЬрд░: "1", рдорд╛рдЗрдирд░: "5", рдЧрд┐рдЯрд╡рд░реНрд╕рди: "v1.5.3", рдЧрд┐рдЯрдХреЙрдорд┐рдЯ: "029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState: "рдХреНрд▓реАрди", рдмрд┐рд▓реНрдбрдбреЗрдЯ: "2017-02-15T06:34: 56Z", GoVersion: "go1.7.4", рдХрдВрдкрд╛рдЗрд▓рд░: "gc", рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: "linux/amd64"}

рдорд╛рд╕реНрдЯрд░ рдФрд░ рдорд┐рдирд┐рдпрди рдкрд░ рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг :
$ рдбреЛрдХрд░ -рд╡реА
рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг 1.13.1, рдирд┐рд░реНрдорд╛рдг 092cba3

рдкрд░реНрдпрд╛рд╡рд░рдг :

  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди :
    VMware
  • OS (рдЬреИрд╕реЗ /etc/os-release рд╕реЗ):
    NAME="рдЙрдмрдВрдЯреВ"
    рд╕рдВрд╕реНрдХрд░рдг = "16.04 рдПрд▓рдЯреАрдПрд╕ (рдЬрд╝реЗрдирд┐рдпрд▓ рдЬрд╝реЗрд░рд╕)"
    рдЖрдИрдбреА = рдЙрдмрдВрдЯреВ
    ID_LIKE=рдбреЗрдмрд┐рдпрди
    PRETTY_NAME="рдЙрдмрдВрдЯреВ 16.04 рдПрд▓рдЯреАрдПрд╕"
    VERSION_ID="16.04"
    HOME_URL=" http://www.ubuntu.com/ "
    SUPPORT_URL=" http://help.ubuntu.com/ "
    BUG_REPORT_URL=" http://bugs.launchpad.net/ubuntu/ "
    UBUNTU_CODENAME=xenial
  • рдХрд░реНрдиреЗрд▓ (рдЬреИрд╕реЗ uname -a ):
    рд▓рд┐рдирдХреНрд╕ рдиреЛрдб-рдорд╛рд╕реНрдЯрд░ 4.4.0-45-рдЬреЗрдиреЗрд░рд┐рдХ #66-рдЙрдмрдВрдЯреВ рдПрд╕рдПрдордкреА рдмреБрдз рдЕрдХреНрдЯреВрдмрд░ 19 14:12:37 рдпреВрдЯреАрд╕реА 2016 x86_64 x86_64 x86_64 рдЬреАрдПрдирдпреВ/рд▓рд┐рдирдХреНрд╕
  • рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ :
    рдХреБрдмреЗрджрдореЛ

  • рдЕрдиреНрдп :

рдХреНрдпрд╛ рд╣реБрдЖ :
kubeadm рдкреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВрдиреЗ рддреАрди рдиреЛрдб рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред

$ 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

рдЖрдкрдХреЛ рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдереА :
рд╕реЗрд╡рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдиреЛрдбрдкреЛрд░реНрдЯ рдЕрдиреБрднрд╛рдЧ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдиреЛрдбрдкреЛрд░реНрдЯ рд╕рднреА рдиреЛрдбрдЖрдИрдкреА рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рднреА рдиреЛрдбрдЖрдИрдкреА рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ рдиреЛрдбрдкреЛрд░реНрдЯ 31699 рдкрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреИрд╢рдмреЛрд░реНрдб рдкреЙрдб рдкрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдкреЙрдб рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЗрд╡рд▓ рдиреЛрдб (рдпрд╛ рдорд┐рдирд┐рдпрди) рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред рдЕрдиреНрдп рдиреЛрдбреНрд╕ (рдпрд╛ рдорд┐рдирд┐рдпрди) рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред

рдЗрд╕реЗ рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░реЗрдВ (рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдиреНрдпреВрдирддрдо рдФрд░ рд╕рдЯреАрдХ):

_рдиреЛрдб-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

рдиреЛрдб-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

*рдЖрдИрдкреАрдЯреЗрдмрд▓реНрд╕ * :

_рдиреЛрдб-1 рд╕реЗ (рдиреЛрдбрдкреЛрд░реНрдЯ 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

_рдиреЛрдб-0 рд╕реЗ (рдиреЛрдбрдкреЛрд░реНрдЯ 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

рд╣рдореЗрдВ рдФрд░ рдХреБрдЫ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ :

рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдЖрд░рдПрдЪрдИрдПрд▓ 7.3 рдкрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
iptables -P FORWARD ACCEPT рдЪрд▓рд╛рдПрдБ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ рдЬрдм docker v1.13.1 . рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

>рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
iptables -P FORWARD ACCEPT рдЪрд▓рд╛рдПрдБ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ рдЬрдм docker v1.13.1 . рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

zetaab picture zetaab  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

broady picture broady  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

montanaflynn picture montanaflynn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mml picture mml  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ttripp picture ttripp  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ