рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╣рд╛ рдХреНрд▓рд╕реНрдЯрд░ред рдпрд╛ рдмрд┐рдирд╛ рдХрд░реНрддрд╛ рдХреЗ рдЬреАрд╡рди рд╣реИ?

рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╣рд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВ



рд╢реБрдн рджреЛрдкрд╣рд░ рдХреЗ рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ рд╣реИрд░! 24 рдордИ, 2018 рдХреЛ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрдВрдЯреЗрдирд░ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдЧреЛрдЬрд╝ рдЬреАрдП рдирд╛рдордХ рдПрдХ рд▓реЗрдЦ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдмреНрд▓реЙрдЧ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдХрд╛ рдПрдХреАрдХрд░рдг рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдВрдкрдиреА рдлреНрд▓реЗрдВрдЯ рдХреЗ рд▓реЛрдЧреЛрдВ рдиреЗ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдкрд░ рд░реВрд╕реА рдореЗрдВ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдЦреБрдж рд╕реЗ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдЧрд┐рддреБрдм рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ "рдореЗрд░реА рдЕрдкрдиреА рддреНрд╡рдЪрд╛" рдкрд░ рдХрдВрдЯреЗрдирд░рдб рдЯреНрд░рд╛рдИ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред


рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреЗ "рдЕрднреА рднреА рдЙрддреНрдкрд╛рджрди рд╕реЗ рдмрд╣реБрдд рджреВрд░" рдХреЗ рдЪрд░рдг рдореЗрдВ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред рддреЛ рд╡реЗ рд╣рдорд╛рд░реЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдмрди рдЬрд╛рдПрдВрдЧреЗ; рдЙрдирдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдПрдХ рдЕрд╕рдлрд▓ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдХреНрдпрд╛ рдбреЙрдХрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдЬреАрд╡рди рд╣реИред


рдпрджрд┐ рдЖрдк рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ, рддреЛ рдмрд┐рд▓реНрд▓реА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред


рдпреЛрдЬрдирд╛рдмрджреНрдз рдФрд░ рддреИрдирд╛рддреА рд╡рд┐рд╡рд░рдг


рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, (рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛

рд░рдЦ-рд░рдЦрд╛рд╡ - рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╡реАрдЖрд░рдЖрд░рдкреА (рд╡рд░реНрдЪреБрдЕрд▓ рд░рд╛рдЙрдЯрд░ рд░рд┐рдбрдВрдбреЗрдВрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
Keepalived рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ IP (VIRTIP) рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рддреАрди рдорд╛рд╕реНрдЯрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдЖрдИрдкреА рдХреЛ "рдкреЙрдЗрдВрдЯ" (рдПрдХ рд╕рдмрд░реЗрдВрдбрдлреЗрд╕) рдмрдирд╛рддрд╛ рд╣реИред рд░рдЦрд╛ рд╣реБрдЖ рдбреЗрдореЙрди рдорд╢реАрдиреЛрдВ рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░, рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдкрд░ рд░рдЦрдиреЗ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ "рд╡рдЬрди" рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдХреЗ рдЖрдИрдкреА рдкрд░ VIRTIP рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗ рд╕рдХреНрд░рд┐рдп рд╕рд░реНрд╡рд░ рдХреА рд╕реВрдЪреА рд╕реЗ рд╡рд┐рдлрд▓ рд╕рд░реНрд╡рд░ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рддрд╛ рд╣реИред

224.0.0.18 рдкрддреЗ рдкрд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реБрдП, рдбреАрдПрдПрд▓рдЖрд░ рд╡реАрдЖрд░рдЖрд░рдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рдЦрд╡рд╛рд▓реА рдХрд░рддреЗ рд╣реИрдВред


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


рд╣рдо рдХрд╛рд░реНрдп рд╕рд░реНрд╡рд░ рдХреЛ kubernetes рдиреЛрдбреНрд╕ рдкрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред


рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдкреЛрд░реНрдЯ рдХреЛ 6443 рд╕реЗ 16443 (рдиреАрдЪреЗ рд╡рд┐рд╡рд░рдг) рдореЗрдВ рдмрджрд▓реЗрдВред рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд╡рд╛рдореА рдкрд░, рдирд╛рдЬрд╝рд┐рдирдХреНрд╕ рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд▓реЛрдбрдмреЗрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкреЛрд░реНрдЯ 16443 рдкрд░ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдкреЛрд░реНрдЯ 6443 (рд╡рд┐рд╡рд░рдг рдиреАрдЪреЗ) рдкрд░ рддреАрдиреЛрдВ рдорд╛рд╕реНрдЯрд░реНрд╕ рдХрд╛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХрд░рддрд╛ рд╣реИред


рдЗрд╕ рдпреЛрдЬрдирд╛ рдиреЗ рд░рдЦрдиреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде-рд╕рд╛рде nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рд╣реИ, рд╕рд╛рде рд╣реА рд╡рд┐рдЬрд╛рд░реНрдб рдкрд░ рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдкрд┐рдЫрд▓реЗ рдПрдХ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдбреЙрдХрдЯрд░ рдореЗрдВ рдиреЗрдЧреНрдиреЗрдХреНрд╕ рдФрд░ рд╡реЙрд░реНрдб рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреЙрдХрдЯрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдиреЗрдЧрдиреЗрдХреНрд╕ рдФрд░ рд╡рд░реНрдб рдЖрджрд┐ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдорд╛рд╕реНрдЯрд░реНрдиреЛрдбреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред


рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЧреНрдиреЗрдХреНрд╕ рдФрд░ рдПрд░реНрдХрдб рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд┐рджрд╛рди рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред


рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХрд╛ рд╡рд┐рд╡рд░рдг:


рдирд╛рдордЖрдИрдкреАрд╕реЗрд╡рд╛рдПрдВ
VIRTIP172.26.133.160------
Kube-master01172.26.133.161kubeadm, kubelet, kubectl, etcd, containerd, nginx, Keepalived
Kube-master02172.26.133.162kubeadm, kubelet, kubectl, etcd, containerd, nginx, Keepalived
Kube-master03172.26.133.163kubeadm, kubelet, kubectl, etcd, containerd, nginx, Keepalived
Kube-node01172.26.133.164kubeadm, kubelet, kubectl, рдХрдВрдЯреЗрдирдб
Kube-node02172.26.133.165kubeadm, kubelet, kubectl, рдХрдВрдЯреЗрдирдб
Kube-node03172.26.133.166kubeadm, kubelet, kubectl, рдХрдВрдЯреЗрдирдб

Kubeadm, kubelet, kubectl рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рд╕рднреА рдХрдорд╛рдВрдб рд░реВрдЯ рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВ


sudo -i 

 apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl unzip tar apt-transport-https btrfs-tools libseccomp2 socat util-linux mc vim keepalived 

Conteinerd рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


 cd / wget https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.1.0-rc.0.linux-amd64.tar.gz tar -xvf cri-containerd-1.1.0-rc.0.linux-amd64.tar.gz 

рдХрдиреНрдЯреЗрдирд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ


 mkdir -p /etc/containerd nano /etc/containerd/config.toml 

рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:


 [plugins.cri] enable_tls_streaming = true 

рд╣рдо рдХрдВрдЯреАрдиреНрдпреВрдб рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ


 systemctl enable containerd systemctl start containerd systemctl status containerd тЧП containerd.service - containerd container runtime Loaded: loaded (/etc/systemd/system/containerd.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2018-06-25 12:32:01 MSK; 7s ago Docs: https://containerd.io Process: 10725 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS) Main PID: 10730 (containerd) Tasks: 15 (limit: 4915) Memory: 14.9M CPU: 375ms CGroup: /system.slice/containerd.service тФФтФА10730 /usr/local/bin/containerd Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg="Get image filesystem path "/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs"" Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=error msg="Failed to load cni during init, please check CRI plugin status before setting up network for pods" error="cni con Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg="loading plugin "io.containerd.grpc.v1.introspection"..." type=io.containerd.grpc.v1 Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg="Start subscribing containerd event" Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg="Start recovering state" Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg=serving... address="/run/containerd/containerd.sock" Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg="containerd successfully booted in 0.308755s" Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg="Start event monitor" Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg="Start snapshots syncer" Jun 25 12:32:01 hb-master02 containerd[10730]: time="2018-06-25T12:32:01+03:00" level=info msg="Start streaming server" 

рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдБ рдЖрджрд┐


рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ, рдореИрдВрдиреЗ 1.10 kubernetes рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдХреБрдЫ рд╣реА рджрд┐рдиреЛрдВ рдмрд╛рдж, рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп, рд╕рдВрд╕реНрдХрд░рдг рез.резрез рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рез.резрез рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЪрд░ ETCD_VERSION = "v3.2.17" рд╕реЗрдЯ рдХрд░реЗрдВ, рдпрджрд┐ рез.резреж рддреЛ ETCD_VERSION = "v3.1.12"ред


 export ETCD_VERSION="v3.1.12" curl -sSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz | tar -xzv --strip-components=1 -C /usr/local/bin/ 

рдЧреАрддрд╛рдм рд╕реЗ рдХреЙрдкреА рд╡рд┐рдиреНрдпрд╛рд╕ред


 git clone https://github.com/rjeka/k8s-containerd.git cd k8s-containerd 

рдЪрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред


 vim create-config.sh 

Create-config.sh рдлрд╝рд╛рдЗрд▓ рдЪрд░ рдХрд╛ рд╡рд┐рд╡рд░рдг
 #!/bin/bash # local machine ip address export K8SHA_IPLOCAL=172.26.133.161 # local machine etcd name, options: etcd1, etcd2, etcd3 export K8SHA_ETCDNAME=kube-master01 # local machine keepalived state config, options: MASTER, BACKUP. One keepalived cluster only one MASTER, other's are BACKUP export K8SHA_KA_STATE=MASTER # local machine keepalived priority config, options: 102, 101,100 MASTER must 102 export K8SHA_KA_PRIO=102 # local machine keepalived network interface name config, for example: eth0 export K8SHA_KA_INTF=ens18 ####################################### # all masters settings below must be same ####################################### # master keepalived virtual ip address export K8SHA_IPVIRTUAL=172.26.133.160 # master01 ip address export K8SHA_IP1=172.26.133.161 # master02 ip address export K8SHA_IP2=172.26.133.162 # master03 ip address export K8SHA_IP3=172.26.133.163 # master01 hostname export K8SHA_HOSTNAME1=kube-master01 # master02 hostname export K8SHA_HOSTNAME2=kube-master02 # master03 hostname export K8SHA_HOSTNAME3=kube-master03 # keepalived auth_pass config, all masters must be same export K8SHA_KA_AUTH=56cf8dd754c90194d1600c483e10abfr #etcd tocken: export ETCD_TOKEN=9489bf67bdfe1b3ae077d6fd9e7efefd # kubernetes cluster token, you can use 'kubeadm token generate' to get a new one export K8SHA_TOKEN=535tdi.utzk5hf75b04ht8l # kubernetes CIDR pod subnet, if CIDR pod subnet is "10.244.0.0/16" please set to "10.244.0.0\\/16" export K8SHA_CIDR=10.244.0.0\\/16 

рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХрд╛ рдЕрдкрдирд╛ рд╣реИ)
K8SHA_IPLOCAL - рдЙрд╕ рдиреЛрдб рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рдЬрд┐рд╕ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╣реИ
K8SHA_ETCDNAME - ETCD рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдХрд╛ рдирд╛рдо
K8SHA_KA_STATE - рд░рдЦрдиреЗ рдореЗрдВ рднреВрдорд┐рдХрд╛ред рдПрдХ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб, рдЕрдиреНрдп рд╕рднреА рдмреИрдХрдЕрдкред
K8SHA_KA_PRIO - рдореБрдЦреНрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рд╢реЗрд╖ 101 рдХреЗ рд▓рд┐рдП рдЧреБрд░реБ рдХреЗ рдкрд╛рд╕ 102, 100 рд╣реИред рдЬрдм рд╕рдВрдЦреНрдпрд╛ 102 рдХреЗ рд╕рд╛рде рдорд╛рд╕реНрдЯрд░ рдЧрд┐рд░рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдЦреНрдпрд╛ 101 рдХреЗ рд╕рд╛рде рдиреЛрдб рдЕрдкрдирд╛ рд╕реНрдерд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реА рддрд░рд╣ред
K8SHA_KA_INTF - рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд░рдЦрд╛ рдЧрдпрд╛ред рдЬрд┐рд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕рдХрд╛ рдирд╛рдо рд╕реБрдиреЗрдВрдЧреЗред


рд╕рднреА рдорд╛рд╕реНрдЯрд░реНрдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдорд╛рди рд╣реИрдВ:


K8SHA_IPVIRTUAL = 172.26.133.160 - рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд╡рд░реНрдЪреБрдЕрд▓ IPред
K8SHA_IP1 ... K8SHA_IP3 - рд╕реНрд╡рд╛рдореА рдХреЗ рдЖрдИрдкреА рдкрддреЗ
K8SHA_HOSTNAME1 ... K8SHA_HOSTNAME3 - рдорд╛рд╕реНрдЯрд░рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯрдирд╛рдоред рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ, рдЗрди рдирд╛рдореЛрдВ рд╕реЗ рдХреБрдмреЗрджрдо рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред
K8SHA_KA_AUTH - рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдбред рдЖрдк рдХреЛрдИ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
K8SHA_TOKEN - рдХреНрд▓рд╕реНрдЯрд░ рдЯреЛрдХрдиред Kubeadm рдЯреЛрдХрди рдЬрдирд░реЗрдЯ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
K8SHA_CIDR - рдЪреВрд▓реНрд╣рд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрдиреЗрдЯ рдкрддрд╛ред рдореИрдВ рдлрд▓рд╛рд▓реИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП CIDR 0.244.0.0/16ред рд╕реНрдХреНрд░реАрди рдкрд░ рдЕрд╡рд╢реНрдп рджреЗрдЦреЗрдВ - рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ K8SHA_CIDR = 10.244.0.0 \ / 16 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП


рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдПрдВ рдЬреЛ nginx, Keepalived, etcd рдФрд░ kubeadmin рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдЧреА


 ./create-config.sh 

рд╣рдо рдЖрджрд┐ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред


рдореИрдВ рдмрд┐рдирд╛ рдкреВрдВрдЫ рдХреЗ рдЙрдард╛ред рдпрджрд┐ рдЖрдкрдХреЛ tls рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ kubernetes рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ etcd рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рддреИрдпрд╛рд░ рдХрд┐рдП рдЬрд╛рдПрдВред


 systemctl daemon-reload && systemctl start etcd && systemctl enable etcd 

рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ


 etcdctl cluster-health member ad059013ec46f37 is healthy: got healthy result from http://192.168.5.49:2379 member 4d63136c9a3226a1 is healthy: got healthy result from http://192.168.4.169:2379 member d61978cb3555071e is healthy: got healthy result from http://192.168.4.170:2379 cluster is healthy etcdctl member list ad059013ec46f37: name=hb-master03 peerURLs=http://192.168.5.48:2380 clientURLs=http://192.168.5.49:2379,http://192.168.5.49:4001 isLeader=false 4d63136c9a3226a1: name=hb-master01 peerURLs=http://192.168.4.169:2380 clientURLs=http://192.168.4.169:2379,http://192.168.4.169:4001 isLeader=true d61978cb3555071e: name=hb-master02 peerURLs=http://192.168.4.170:2380 clientURLs=http://192.168.4.170:2379,http://192.168.4.170:4001 isLeader=false 

рдпрджрд┐ рд╕рдм рдареАрдХ рд╣реИ, рддреЛ рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред


рдХреБрдмреЗрджрдорд┐рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдпрджрд┐ рдЖрдк kubeadm рд╕рдВрд╕реНрдХрд░рдг 1.11 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдЪрд░рдг рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдХрд┐рдмрд░реНрдиреЗрдЯ рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде, рдХреБрдмреЗрджрдорд┐рди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реЗрдВ


 vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 

[рд╕реЗрд╡рд╛] рдХреЗ рдмрд╛рдж рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ


 Environment="KUBELET_EXTRA_ARGS=--runtime-cgroups=/system.slice/containerd.service --container-runtime=remote --runtime-request-timeout=15m --container-runtime-endpoint=unix:///run/containerd/containerd.sock" 

рд╕рдВрдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
 [Service] Environment="KUBELET_EXTRA_ARGS=--runtime-cgroups=/system.slice/containerd.service --container-runtime=remote --runtime-request-timeout=15m --container-runtime-endpoint=unix:///run/containerd/containerd.sock" Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf" Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true" Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin" Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local" Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt" Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0" Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki" ExecStart= ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS 

рдпрджрд┐ рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рез.резрез рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпреВрдм-рдбреАрдПрдирдПрд╕ рдХреЗ рдмрдЬрд╛рдп рдХреЛрд░рдбрдПрдирдПрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдмреЗрдбрдо-рдЗрдирд┐рдЯ.рдорд╛рдЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ:


 feature-gates: DynamicKubeletConfig: true CoreDNS: true 

рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ


 systemctl daemon-reload && systemctl restart kubelet 

рдкрд╣рд▓реЗ рдЬрд╛рджреВрдЧрд░ рдХреА рд╢реБрд░реБрдЖрдд


рдХреБрдмреЗрджрдо рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд░рдЦ-рд░рдЦрд╛рд╡ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реЛрдЧреА


 systemctl restart keepalived.service systemctl status keepalived.service тЧП keepalived.service - Keepalive Daemon (LVS and VRRP) Loaded: loaded (/lib/systemd/system/keepalived.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-06-27 10:40:03 MSK; 1min 44s ago Process: 4589 ExecStart=/usr/sbin/keepalived $DAEMON_ARGS (code=exited, status=0/SUCCESS) Main PID: 4590 (keepalived) Tasks: 7 (limit: 4915) Memory: 15.3M CPU: 968ms CGroup: /system.slice/keepalived.service тФЬтФА4590 /usr/sbin/keepalived тФЬтФА4591 /usr/sbin/keepalived тФЬтФА4593 /usr/sbin/keepalived тФЬтФА5222 /usr/sbin/keepalived тФЬтФА5223 sh -c /etc/keepalived/check_apiserver.sh тФЬтФА5224 /bin/bash /etc/keepalived/check_apiserver.sh тФФтФА5231 sleep 5 

рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ VIRTIP рдкрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ


 ping -c 4 172.26.133.160 PING 172.26.133.160 (172.26.133.160) 56(84) bytes of data. 64 bytes from 172.26.133.160: icmp_seq=1 ttl=64 time=0.030 ms 64 bytes from 172.26.133.160: icmp_seq=2 ttl=64 time=0.050 ms 64 bytes from 172.26.133.160: icmp_seq=3 ttl=64 time=0.050 ms 64 bytes from 172.26.133.160: icmp_seq=4 ttl=64 time=0.056 ms --- 172.26.133.160 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3069ms rtt min/avg/max/mdev = 0.030/0.046/0.056/0.012 ms 

рдЙрд╕рдХреЗ рдмрд╛рдж, рдХреБрдмреЗрджрдорд┐рди рдЪрд▓рд╛рдПрдВред рд▓рд╛рдЗрди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ --рд╕реНрдХрд╛рдЗрдк-рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ-рдЪреЗрдХред рдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЦреЛрдЬ рджреНрд╡рд╛рд░рд╛ рдХреБрдмреЗрджрдорд┐рди рдФрд░ рдмрд┐рдирд╛ рд▓рдВрдШрди рдЪреЗрдХ рдХреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред


 kubeadm init --config=kubeadm-init.yaml --skip-preflight-checks 

рдХреБрдмреЗрджрдо рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрддреНрдкрдиреНрди рд▓рд╛рдЗрди рдХреЛ рд╕рд╣реЗрдЬреЗрдВред рдЗрд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред


 kubeadm join 172.26.133.160:6443 --token XXXXXXXXXXXXXXXXXXXXXXXXX --discovery-token-ca-cert-hash sha256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

рдЕрдЧрд▓рд╛, рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХрд╣рд╛рдВ admin.conf рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ
рдпрджрд┐ рд╣рдо рдЬрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ:


 vim ~/.bashrc export KUBECONFIG=/etc/kubernetes/admin.conf source ~/.bashrc 

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред


 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 

рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ 2 рдФрд░ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдЬреЛрдбрд╝реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, kube-master01 рд╕реЗ kube-master02 рдФрд░ kube-master03 рд╕реЗ / etc / kubernetes / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд░реВрдЯ рдХреЗ рд▓рд┐рдП ssh рдПрдХреНрд╕реЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛, рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред


 scp -r /etc/kubernetes/pki 172.26.133.162:/etc/kubernetes/ scp -r /etc/kubernetes/pki 172.26.133.163:/etc/kubernetes/ 

рдХреНрдпреВрдм-рдорд╛рд╕реНрдЯрд░ режреи рдФрд░ рдХреНрдпреВрдм-рдорд╛рд╕реНрдЯрд░ режрей рдХреА рдирдХрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рджреМрдбрд╝реЗрдВред


 kubeadm init --config=kubeadm-init.yaml --skip-preflight-checks 

CIDR рдлрд▓рд╛рд▓реИрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдХреНрдпреВрдм-рдорд╛рд╕реНрдЯрд░ 01 рдкрд░ рдЕрдорд▓ рдХрд░реЗрдВ


 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml 

рдлрд▓рд╛рдиреЗрд▓ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рд╣рдо рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмрдирдиреЗ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред


 watch -n1 kubectl get pods --all-namespaces -o wide NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE kube-system kube-apiserver-kube-master01 1/1 Running 0 17m 172.26.133.161 kube-master01 kube-system kube-apiserver-kube-master02 1/1 Running 0 6m 172.26.133.162 kube-master02 kube-system kube-apiserver-kube-master03 1/1 Running 0 6m 172.26.133.163 kube-master03 kube-system kube-controller-manager-kube-master01 1/1 Running 0 17m 172.26.133.161 kube-master01 kube-system kube-controller-manager-kube-master02 1/1 Running 0 6m 172.26.133.162 kube-master02 kube-system kube-controller-manager-kube-master03 1/1 Running 0 6m 172.26.133.163 kube-master03 kube-system kube-dns-86f4d74b45-8c24s 3/3 Running 0 17m 10.244.2.2 kube-master03 kube-system kube-flannel-ds-4h4w7 1/1 Running 0 2m 172.26.133.163 kube-master03 kube-system kube-flannel-ds-kf5mj 1/1 Running 0 2m 172.26.133.162 kube-master02 kube-system kube-flannel-ds-q6k4z 1/1 Running 0 2m 172.26.133.161 kube-master01 kube-system kube-proxy-9cjtp 1/1 Running 0 6m 172.26.133.163 kube-master03 kube-system kube-proxy-9sqk2 1/1 Running 0 17m 172.26.133.161 kube-master01 kube-system kube-proxy-jg2pt 1/1 Running 0 6m 172.26.133.162 kube-master02 kube-system kube-scheduler-kube-master01 1/1 Running 0 18m 172.26.133.161 kube-master01 kube-system kube-scheduler-kube-master02 1/1 Running 0 6m 172.26.133.162 kube-master02 kube-system kube-scheduler-kube-master03 1/1 Running 0 6m 172.26.133.163 kube-master03 

рд╣рдо рддреАрдиреЛрдВ рдорд╛рд╕реНрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдм-рдбреАрдПрдирдПрд╕ рдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ


рдХреНрдпреВрдм-рдорд╛рд╕реНрдЯрд░ 01 рдкрд░ рдЕрдорд▓ рдХрд░реЗрдВ


 kubectl scale --replicas=3 -n kube-system deployment/kube-dns 

рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдкреНрд░рддреНрдпреЗрдХ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирдЧреЗрдВрдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдореЗрд░реЗ рдкрд╛рд╕ рдбреЗрдмрд┐рдпрди рдкрд░ рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рдорд╢реАрдиреЗрдВ рд╣реИрдВред рдиреЗрдЧрдиреЗрдХреНрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реЗ, рд╕реНрдЯреНрд░реАрдо рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдиреЗрдЧрдиреЗрдХреНрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рдиреЗрдЧреНрдиреЗрдХреНрд╕ `рдП рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ OS рд╣реИ, рддреЛ nginx рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВред


 wget https://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key echo -e "\n#nginx\n\ deb http://nginx.org/packages/debian/ stretch nginx\n\ deb-src http://nginx.org/packages/debian/ stretch nginx" >> /etc/apt/sources.list apt-get update && apt-get install nginx -y 

Nginx config рдмрдирд╛рдПрдВ (рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдирд╣реАрдВ рд╣реИ)


 ./create-config.sh 

nginx.conf

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ nginx;
рдХрд╛рд░реНрдпрдХрд░реНрддрд╛_рдкреНрд░реЛрд╕реЗрд╕ рдСрдЯреЛ;


error_log /var/log/nginx/error.log рдЪреЗрддрд╛рд╡рдиреА;
pid /var/run/nginx.pid;


рдШрдЯрдирд╛рдПрдБ {
worker_connections 1024;
}


http {
/etc/nginx/mime.types рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ;
default_type рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдСрдХреНрдЯреЗрдЯ-рд╕реНрдЯреНрд░реАрдо;


 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; 

}


рдзрд╛рд░рд╛ {
рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЕрдкрд░реНрдЪрд░ {
рд╕рд░реНрд╡рд░ 172.26.133.161:6443 рд╡рдЬрди = 5 рдЕрдзрд┐рдХрддрдо_рдлреЗрд▓ = 3 рдЕрд╕рдлрд▓_ рд╕рдордп = 30 рд╕реЗрдХрдВрдб;
рд╕рд░реНрд╡рд░ 172.26.133.162:6443 рд╡рдЬрди = 5 рдЕрдзрд┐рдХрддрдо_рдлреЗрд▓ = 3 рдЕрд╕рдлрд▓_ рд╕рдордп = 30 рд╕реЗрдХрдВрдб;
рд╕рд░реНрд╡рд░ 172.26.133.163:6443 рд╡рдЬрди = 5 рдЕрдзрд┐рдХрддрдо_рдлреЗрд▓ = 3 рдЕрд╕рдлрд▓_ рд╕рдордп = 30 рд╕реЗрдХрдВрдб;


 } server { listen 16443; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass apiserver; } 

}


рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░реЗрдВ


 nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful systemctl restart nginx systemctl status nginx тЧП nginx.service - nginx - high performance web server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-06-28 08:48:09 MSK; 22s ago Docs: http://nginx.org/en/docs/ Process: 22132 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 22133 (nginx) Tasks: 2 (limit: 4915) Memory: 1.6M CPU: 7ms CGroup: /system.slice/nginx.service тФЬтФА22133 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf тФФтФА22134 nginx: worker process 

рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ


 curl -k https://172.26.133.161:16443 | wc -l % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 233 100 233 0 0 12348 0 --:--:-- --:--:-- --:--:-- 12944 

рдмреИрд▓реЗрдВрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдмреИрд▓реЗрдВрд╕рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдкреЛрд░реНрдЯ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред


 kubectl edit -n kube-system configmap/kube-proxy 

рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдХрд░ https://172.26.133.160:16443 рдХрд░реЗрдВ
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдирдП рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдм-рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


 kubectl get pods --all-namespaces -o wide | grep proxy kube-system kube-proxy-9cjtp 1/1 Running 1 22h 172.26.133.163 kube-master03 kube-system kube-proxy-9sqk2 1/1 Running 1 22h 172.26.133.161 kube-master01 kube-system kube-proxy-jg2pt 1/1 Running 4 22h 172.26.133.162 kube- 

рд╣рдо рд╕рднреА рдкреЙрдбреНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ, рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╡реЗ рдирдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрд╡рддрдГ рд░реАрдХреНрд░рд┐рдПрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ


 kubectl delete pod -n kube-system kube-proxy-XXX ```bash    .      ```bash kubectl get pods --all-namespaces -o wide | grep proxy kube-system kube-proxy-hqrsw 1/1 Running 0 33s 172.26.133.161 kube-master01 kube-system kube-proxy-kzvw5 1/1 Running 0 47s 172.26.133.163 kube-master03 kube-system kube-proxy-zzkz5 1/1 Running 0 7s 172.26.133.162 kube-master02 

рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд╛рдо рдиреЛрдбреНрд╕ рдЬреЛрдбрд╝рдирд╛


рдкреНрд░рддреНрдпреЗрдХ рд░реВрдЯ рдиреЛрдЯ рдкрд░, kubeadm рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ


 kubeadm join 172.26.133.160:6443 --token XXXXXXXXXXXXXXXXXXXXXXXXX --discovery-token-ca-cert-hash sha256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --cri-socket /run/containerd/containerd.sock --skip-preflight-checks 

рдпрджрд┐ рд▓рд╛рдЗрди "рдЦреЛ рдЧрдИ" рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


 kubeadm token generate kubeadm token create <generated-token> --print-join-command --ttl=0 

/Etc/kubernetes/bootstrap-kubelet.conf рдФрд░ /etc/kubernetes/kubelet.conf рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдиреЛрдбреНрд╕ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░
рд╣рдорд╛рд░реЗ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдЪрд░ рдореВрд▓реНрдп


 vim /etc/kubernetes/bootstrap-kubelet.conf server: https://172.26.133.60:16443 vim /etc/kubernetes/kubelet.conf server: https://172.26.133.60:16443 

рдФрд░ рдХрдВрдЯреЗрдирд░ рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ


 systemctl restart containerd kubelet 

рдбреИрд╢рдмреЛрд░реНрдб рдХреА рд╕реНрдерд╛рдкрдирд╛


 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 

рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдБ:


 kubectl apply -f kube-dashboard/dashboard-adminUser.yaml 

рд╣рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рдорд┐рд▓рддрд╛ рд╣реИ:


 kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') 

VIRTIP рдкрд░ NodePort рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреИрд╢рдмреЛрд░реНрдб рдПрдХреНрд╕реЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


 kubectl -n kube-system edit service kubernetes-dashboard 

рд╣рдо рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рди рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░: NodePort рдФрд░ рдкреЛрд░реНрдЯ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ: рдиреЛрдбрдкреЙрд░реНрдЯ рдХрд╛ рдорд╛рди рдЬреЛрдбрд╝реЗрдВ: 30000 (рдпрд╛ 30000 рд╕реЗ 32000 рдХреА рд╕реАрдорд╛ рдореЗрдВ рдкреЛрд░реНрдЯ рдЬрд┐рд╕ рдкрд░ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдирд▓ рд╕реБрд▓рдн рд╣реЛ):



рдкреИрдирд▓ рдЕрдм https: // VIRTIP: 30000 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ


Heapster


рдЕрдЧрд▓рд╛, рдХреНрд▓рд╕реНрдЯрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг, Heapster рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред


рд╕реНрдерд╛рдкрдирд╛:


 git clone https://github.com/kubernetes/heapster.git cd heapster kubectl create -f deploy/kube-config/influxdb/ kubectl create -f deploy/kube-config/rbac/heapster-rbac.yaml 

рдирд┐рд╖реНрдХрд░реНрд╖


рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАрдВ рд╣реБрдИред рдПрдХ рдмрд╛рд░ рддреИрдирд╛рддреА рдХреЛ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЪреВрд▓реНрд╣рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕рдВрдЧрдд рдЧрдбрд╝рдмрдбрд╝ рдерд╛ред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрдерд╛ рдХрд┐ рдХреЗ рддрд╣рдд рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрдЬреАрдм "рдЬрд╝реЛрдВрдмреА" рдмрди рдЧрдпрд╛ред рдпрд╣ рдиреЛрдб рдкрд░ рдореМрдЬреВрдж рд░рд╣рд╛, рд▓реЗрдХрд┐рди рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВред


рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдЕрдзрд┐рдХ рдЙрдиреНрдореБрдЦ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдореБрдЦ рд╣реЛрдВрдЧреЗред


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИред рдЕрд▓реАрдмрд╛рдмрд╛ рдХреНрд▓рд╛рдЙрдб рдиреЗ рдХреЙрдирд╛рдЯрд┐рдирд░ рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЬреЛрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред


рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдХрдВрдЯреЗрдирд░рдб рдХрд╛ рдПрдХреАрдХрд░рдг рдЕрдм рдбреЙрдХрд░ рдПрдХреАрдХрд░рдг рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред


рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ ред рдореИрдВ рдирд┐рд░реНрдорд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рднреА рджреВрдВрдЧрд╛:


 kubectl describe nodes | grep "Container Runtime Version:" 


рдбреЙрдХрд░ рд╕реАрдПрд▓рдЖрдИ рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд▓реА рдФрд░ рдирд╛рдо рд╕реНрдерд╛рди, рдЬрдмрдХрд┐ рдЖрд▓реЛрдЪрдХ рдЗрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ


 crictl pods 


рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдо рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдбреЙрдХ


 crictl ps 


рд╣рдо рдЙрди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдиреЛрдб рдкрд░ рд╣реИрдВ


 crictl images 


рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, docker` рдХреЗ рдмрд┐рдирд╛ рдЬреАрд╡рди рд╣реИ :)


рдмрдЧ рдФрд░ рдЧреНрд▓рд┐рдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЬрд▓реНрджрдмрд╛рдЬреА рд╣реЛрдЧреА, рдХреНрд▓рд╕реНрдЯрд░ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд▓рдЧрднрдЧ рдПрдХ рд╕рдкреНрддрд╛рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╕рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рджреЗрд╡ рд╕реНрдЯреИрдВрдбред DevOps рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЬреИрд╕реЗ: рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдирд╛, рдПрдХ рдЗрдВрдЧреНрд░реЗрд╕ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛, рдЫрд╡рд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛, рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛, рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рдЖрджрд┐ред рдЗрд╕ рдмреАрдЪ, рд╣рдо рдХрд╛рдо рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ, рдмрдЧ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдореИрдиреБрдЕрд▓ рдбреЙрдХ рдХреЗ рд╕рд╛рде рдлреЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХреБрдмрд░реНрдиреЗрдЯреЗрд╕ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреЙрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреБрдмреЗрджрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред


рдпрд╛ рдЖрдк рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ рдкрд░ рдПрдХ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдФрд░ рдбреЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрд╢реНрд╡рд╛рд╕рди рджреЗрддреЗ рд╣реИрдВ, рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдХрдВрдЯреЗрдирд░ рдХреЙрдирд░рдиреЗрдЯреНрд╕ рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ, рдФрд░ рдбреЙрдХрд░ рдбреЙрдХрд░ рдХреА рддрд░рд╣ рд╣реА рд╣реИ)))




рдХрдВрдЯреЗрдирд░-рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХрд▓-рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд▓реЗрдмреБрдХ рд╣реИ ред рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ "рдмрдврд╝рд╛рдПрдВ" рдФрд░ рд╕рдордЭреЗрдВ рдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдХрд┐рд╕реА рджрд┐рди рдореЗрд░реЗ рд╣рд╛рде рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдореИрдВ рд╣рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкреНрд▓реЗрдмреБрдХ рд▓рд┐рдЦреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдЫрд▓реЗ рдЫрд╣ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реЛрдЧрд╛ред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп, рд╕рдВрд╕реНрдХрд░рдг kubernetes 1.11 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рдлрд╝реНрд▓реИрдВрдЯ рдмреНрд▓реЙрдЧ рдореЗрдВ рдпрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХреБрдмреЗрд░рдиреЗрдЯ рдмреНрд▓реЙрдЧ рдореЗрдВ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ ред рд╣рдордиреЗ рдкрд░реАрдХреНрд╖рдг рд╕рдореВрд╣реЛрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рез.резрез рдореЗрдВ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдФрд░ рдХреЛрд░рдбрдПрдирдПрд╕ рдХреЗ рд╕рд╛рде рдХреНрдпреВрдм-рдбреАрдПрдирдПрд╕ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ configs рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдЕрджреНрдпрддрди рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдбрд╛рдпрдиреЗрдорд┐рдХ рдХреНрдпреВрдмрд▓реЗрдЯрдСрдирдлрд┐рдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ред


рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реА:



рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред


рдЪреВрдВрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдореВрд╣реЛрдВ рдкрд░, RuNet рдореЗрдВ рдмрд╣реБрдд рджреБрд░реНрд▓рдн рд╣реИ, рдЕрд╢реБрджреНрдзрд┐ рдХреЗ рд╕рдВрдХреЗрдд рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓рд╕реНрдЯрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдпреЛрдЬрдирд╛ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдФрд░ рдЙрдЪрд┐рдд рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдФрд░ рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рддреИрдпрд╛рд░ рд╣реВрдВ, рдЧрд┐рдардм рдкрд░ рдФрд░ рдореЗрд░реЗ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдХреЗрддрд┐рдд рдХрд┐рд╕реА рднреА рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВред


рд╕рд╛рднрд╛рд░, рдпреВрдЬреАрди

Source: https://habr.com/ru/post/hi415601/


All Articles