Kubeadm: CoreDNS Ubuntu 18.04.Bionic Beaver рдкрд░ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЬреБрд▓ре░ 2018  ┬╖  18рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubeadm

рдЗрд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдиреЗ рдХреБрдмрдбрд╝реЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рдХреМрди рд╕реЗ рдХреАрд╡рд░реНрдб рдЦреЛрдЬреЗ рдереЗ?

dns, resolv.conf, coredns

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ

kubeadm рд╕рдВрд╕реНрдХрд░рдг ( kubeadm version ):
kubeadm version: &version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:14:41Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}

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

  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг ( kubectl version ):
  Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
  Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:08:34Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди :
    рдмреЗрдпрд░рдореЗрдЯрд▓ (рдЗрдВрдЯреЗрд▓ Xeon, 2x2TB HDD, 32GB RAM)
  • OS (рдЙрджрд╛ / etc / os-release):
    рдЙрдмрдВрдЯреВ 18.04 рдПрд▓рдЯреАрдПрд╕ (рдмрд╛рдпреЛрдирд┐рдХ рдмреАрд╡рд░)
  • рдХрд░реНрдиреЗрд▓ (рдЬреИрд╕реЗ uname -a ):
    4.15.0-24-рдЬреЗрдиреЗрд░рд┐рдХ

рдХреНрдпрд╛ рд╣реБрдЖ?

Kubeadm рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ kubernetes рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж coredns рдлрд▓реА рдирд╣реАрдВ рдЖрдПрдЧреАред kubectl get pods --all-namespaces рдЗрд╕ рдкреНрд░рд┐рдВрдЯ:

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-kgg8d              0/1       Pending   0          2h
kube-system   coredns-78fcdf6894-vl9jf              0/1       Pending   0          2h
kube-system   etcd-beetlejuice                      1/1       Running   0          2h
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          2h
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          2h
kube-system   kube-proxy-bjdqd                      1/1       Running   0          2h
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          2h

рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдереА?

coredns рд╕реНрдЯреЗрдЯрд╕ 'рд░рдирд┐рдВрдЧ' рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

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

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

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 docker.io
apt-get install -y kubeadm

kubeadm init --pod-network-cidr=10.27.0.0/16

рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ ... рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЙрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

kinbug prioritawaiting-more-evidence prioritimportant-soon

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

рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд╕реВрдЪрдХ рд╕реЗ рдХреЛрдИ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИрдВред

/Var/lib/kubelet/kubeadm-flags.env рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ

--resolv-conf рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдареАрдХ рд╣реИред

рдЕрдм рддрдХ рдпрд╣ рдПрдХ рдПрдХрд▓ рдиреЛрдб рдХреНрдпреВрдм рд╣реЛрдЧрд╛ред

kubeadm reset рдФрд░ рдлрд┐рд░ kubeadm init ... рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред
рдлрд┐рд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбрд╛рдпрд░ рдХреЛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдкреЙрдб рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд▓рдЧ рдЗрди (рд╡реАрд╡реА) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдбреАрдПрдирдПрд╕ рдлрд▓реА рддреИрдпрд╛рд░ рд╣реИред рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВред

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

@ sergej2705
рд╕реЗ рдЙрддреНрдкрд╛рджрди:
kubectl describe pod <coredns-pod-ids>

рдФрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ:

'systemctl status kubelet'
'journalctl -xeu kubelet'

рдЕрдзрд┐рдХ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдзрдиреНрдпрд╡рд╛рджред

kubectl describe pod coredns-78fcdf6894-kgg8d -n kube-system :

Name:           coredns-78fcdf6894-kgg8d
Namespace:      kube-system
Node:           <none>
Labels:         k8s-app=kube-dns
                pod-template-hash=3497892450
Annotations:    <none>
Status:         Pending
IP:             
Controlled By:  ReplicaSet/coredns-78fcdf6894
Containers:
coredns:
    Image:       k8s.gcr.io/coredns:1.1.3
    Ports:       53/UDP, 53/TCP, 9153/TCP
    Host Ports:  0/UDP, 0/TCP, 0/TCP
    Args:
    -conf
    /etc/coredns/Corefile
    Limits:
    memory:  170Mi
    Requests:
    cpu:        100m
    memory:     70Mi
    Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
    Environment:  <none>
    Mounts:
    /etc/coredns from config-volume (ro)
    /var/run/secrets/kubernetes.io/serviceaccount from coredns-token-4fqm7 (ro)
Conditions:
Type           Status
PodScheduled   False 
Volumes:
config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
coredns-token-4fqm7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-4fqm7
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     CriticalAddonsOnly
                node-role.kubernetes.io/master:NoSchedule
                node.kubernetes.io/not-ready:NoExecute for 300s
                node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason            Age                 From               Message
----     ------            ----                ----               -------
Warning  FailedScheduling  4m (x1436 over 4h)  default-scheduler  0/1 nodes are available: 1 node(s) were not ready.

рдФрд░ kubectl describe pod coredns-78fcdf6894-vl9jf -n kube-system :

Name:           coredns-78fcdf6894-vl9jf
Namespace:      kube-system
Node:           <none>
Labels:         k8s-app=kube-dns
                pod-template-hash=3497892450
Annotations:    <none>
Status:         Pending
IP:             
Controlled By:  ReplicaSet/coredns-78fcdf6894
Containers:
coredns:
    Image:       k8s.gcr.io/coredns:1.1.3
    Ports:       53/UDP, 53/TCP, 9153/TCP
    Host Ports:  0/UDP, 0/TCP, 0/TCP
    Args:
    -conf
    /etc/coredns/Corefile
    Limits:
    memory:  170Mi
    Requests:
    cpu:        100m
    memory:     70Mi
    Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
    Environment:  <none>
    Mounts:
    /etc/coredns from config-volume (ro)
    /var/run/secrets/kubernetes.io/serviceaccount from coredns-token-4fqm7 (ro)
Conditions:
Type           Status
PodScheduled   False 
Volumes:
config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
coredns-token-4fqm7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-4fqm7
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     CriticalAddonsOnly
                node-role.kubernetes.io/master:NoSchedule
                node.kubernetes.io/not-ready:NoExecute for 300s
                node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason            Age                 From               Message
----     ------            ----                ----               -------
Warning  FailedScheduling  1m (x1467 over 4h)  default-scheduler  0/1 nodes are available: 1 node(s) were not ready.

рдореБрдЭреЗ systemctl status kubelet рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИ, рдпрд╣рд╛рдБ рдкреВрд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

тЧП kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kubelet.service.d
        тФФтФА10-kubeadm.conf, override.conf
Active: active (running) since Mon 2018-07-09 17:43:53 CEST; 4h 7min ago
    Docs: http://kubernetes.io/docs/
Main PID: 26710 (kubelet)
    Tasks: 32 (limit: 4915)
CGroup: /system.slice/kubelet.service
        тФФтФА26710 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-co

journalctl -xeu kubelet рдореИрдВ рдХрдИ рдмрд╛рд░ follwing рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ:

Jul 09 21:54:48 beetlejuice kubelet[26710]: E0709 21:54:48.883071   26710 kubelet.go:2112] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninit
Jul 09 21:54:49 beetlejuice kubelet[26710]: E0709 21:54:49.566069   26710 dns.go:131] Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 213.133.99.99 213.133.98.98 213.133.100.100
Jul 09 21:54:53 beetlejuice kubelet[26710]: W0709 21:54:53.884846   26710 cni.go:172] Unable to update cni config: No networks found in /etc/cni/net.d

рдлреА, /etc/resolv.conf :

### Hetzner Online GmbH installimage
# nameserver config
nameserver 213.133.99.99
nameserver 213.133.98.98
nameserver 213.133.100.100
nameserver 2a01:4f8:0:1::add:1010
nameserver 2a01:4f8:0:1::add:9999
nameserver 2a01:4f8:0:1::add:9898

рдЬрд╣рд╛рдВ Hetzner рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдирд╛рдо рд╣реИред

@ sergej2705
рдЕрдиреБрд╕реВрдЪрдХ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрд╕реНрдкрд╖реНрдЯ рдХреНрдпреЛрдВ рд╣реИред

рдЖрдк рдХреЗ рд╕рд╛рде рдХреНрдпреВрдм-рдЕрдиреБрд╕реВрдЪрдХ рдлрд▓реА рдХреА рдЖрдИрдбреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ
kubectl get pods --all-namespace

рддрдм рдЖрдк рдЙрд╕ рдлрд▓реА рдореЗрдВ рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
kubectl exec -ti <POD-ID-HERE> bash -n kube-system

рдФрд░ рд╡рд╣рд╛рдБ рд╕реЗ рдЖрдк рд▓реЙрдЧ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
cat /var/log

рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА:

  • рдХреНрдпрд╛ рдЖрдк init (рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ) рдХреЗ рдмрд╛рдж рдПрдХ рдкреЙрдб-рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
  • рдХреЗ рдмрд╛рдж init рдХреНрдпрд╛ рд╕рд╛рдордЧреНрд░реА рдЖрдк рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ /var/lib/kubelet/kubeadm-flags.env ?

kubectl exec -ti kube-scheduler-beetlejuice bash -n kube-system рдХрд╣рддреЗ рд╣реИрдВ

OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown command terminated with exit code 126

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ kubectl exec -ti kube-scheduler-beetlejuice sh -n kube-system рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЗрд╕рд▓рд┐рдП sh рдмрдЬрд╛рдп bash ... рд▓реЗрдХрд┐рди рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ /var/log

ls -lAh /var :

drwxr-xr-x    3 root     root        4.0K May 22 17:00 spool
drwxr-xr-x    2 root     root        4.0K May 22 17:00 www

рдЕрдм рддрдХ рдпрд╣ рдПрдХ рдПрдХрд▓ рдиреЛрдб рдХреНрдпреВрдм рд╣реЛрдЧрд╛ред

/var/lib/kubelet/kubeadm-flags.env рд╣реИрдВ

KUBELET_KUBEADM_ARGS=--cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --network-plugin=cni --resolv-conf=/run/systemd/resolve/resolv.conf

рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд╕реВрдЪрдХ рд╕реЗ рдХреЛрдИ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИрдВред

/Var/lib/kubelet/kubeadm-flags.env рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ

--resolv-conf рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдареАрдХ рд╣реИред

рдЕрдм рддрдХ рдпрд╣ рдПрдХ рдПрдХрд▓ рдиреЛрдб рдХреНрдпреВрдм рд╣реЛрдЧрд╛ред

kubeadm reset рдФрд░ рдлрд┐рд░ kubeadm init ... рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред
рдлрд┐рд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбрд╛рдпрд░ рдХреЛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдкреЙрдб рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд▓рдЧ рдЗрди (рд╡реАрд╡реА) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдбреАрдПрдирдПрд╕ рдлрд▓реА рддреИрдпрд╛рд░ рд╣реИред рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВред

рддрд╛рдЬрд╛ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж рдлрд▓реА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ (рдлрд┐рд░ рд╕реЗ):

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-lcmg6              0/1       Pending   0          1m
kube-system   coredns-78fcdf6894-wd9nt              0/1       Pending   0          1m
kube-system   etcd-beetlejuice                      1/1       Running   0          18s
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          36s
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          12s
kube-system   kube-proxy-zrhgj                      1/1       Running   0          1m
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          24s

рдмреБрдирд╛рдИ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-lcmg6              1/1       Running   0          2m
kube-system   coredns-78fcdf6894-wd9nt              1/1       Running   0          2m
kube-system   etcd-beetlejuice                      1/1       Running   0          1m
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          1m
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          58s
kube-system   kube-proxy-zrhgj                      1/1       Running   0          2m
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          1m
kube-system   weave-net-ldxg5                       2/2       Running   0          24s

рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ЁЯСН

рдореИрдВрдиреЗ kubernetes-dashboard рдЕрдм рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдпрд╣ рдкрд╣рд▓реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рд╣реИ?

рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рд╣реИ?

рдореИрдВ рдХрд╣реВрдБрдЧрд╛ - рд╣рд╛рдБ, рдЕрднреА рдХреЗ рд▓рд┐рдПред

рд╕реАрдПрд▓рдЖрдИ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рджреЛрдиреЛрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ init рдареАрдХ рдмрд╛рдж рдПрдХ рдкреЙрдб-рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВред
рд╣рдордиреЗ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рдХрджрдо рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ...

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВред

рдореБрдЭреЗ рд╕рдЯреАрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмреБрдирд╛рдИ рдкреНрд▓рдЧрдЗрди рдиреЗ рдЪрд╛рд▓ рдирд╣реАрдВ рдХреАред рдореИрдВ рдЕрднреА рднреА рдХрдВрдЯреЗрдирд░ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреЛрд░рдбрдиреНрд╕ рдкреЙрдбреНрд╕ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдЕрдм рд▓рдЧрднрдЧ рдПрдХ рдШрдВрдЯрд╛ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП ...

linux-uwkw:~ # kubectl cluster-info
Kubernetes master is running at https://192.168.178.163:6443
KubeDNS is running at https://192.168.178.163:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
linux-uwkw:~ # cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS=--cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --network-plugin=cni
  • --resolv-conf рдзреНрд╡рдЬ рдЧрд╛рдпрдм рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП kubqdm рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
  • --cni-bin-dir=/opt/cni/bin рдЧрд▓рдд рд╣реИред рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдирд╣реАрдВ рд╣реИред
linux-uwkw:~ # rpm -ql cni
/etc/cni
/etc/cni/net.d
/etc/cni/net.d/99-loopback.conf.sample
/usr/lib/cni
/usr/lib/cni/noop
/usr/sbin/cnitool
/usr/share/doc/packages/cni
/usr/share/doc/packages/cni/CONTRIBUTING.md
/usr/share/doc/packages/cni/DCO
/usr/share/doc/packages/cni/README.md
/usr/share/licenses/cni
/usr/share/licenses/cni/LICENSE

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдореБрдЭреЗ рд╡рд╣рд╛рдБ /usr/sbin рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛, рд╣реИ рдирд╛?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреБрд╕реВрдЪрдХ рд╕реЗ рд▓реЙрдЧ рд╣реИрдВ:

linux-uwkw:~ # docker logs k8s_kube-scheduler_kube-scheduler-linux-uwkw_kube-system_a00c35e56ebd0bdfcd77d53674a5d2a1_0
I0813 21:18:19.816990       1 server.go:126] Version: v1.11.2
W0813 21:18:19.821719       1 authorization.go:47] Authorization is disabled
W0813 21:18:19.821744       1 authentication.go:55] Authentication is disabled
I0813 21:18:19.821787       1 insecure_serving.go:47] Serving healthz insecurely on 127.0.0.1:10251
E0813 21:18:25.603025       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolume: persistentvolumes is forbidden: User "system:kube-scheduler" cannot list persistentvolumes at the cluster scope
E0813 21:18:25.603122       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.ReplicationController: replicationcontrollers is forbidden: User "system:kube-scheduler" cannot list replicationcontrollers at the cluster scope
E0813 21:18:25.603161       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Service: services is forbidden: User "system:kube-scheduler" cannot list services at the cluster scope
E0813 21:18:25.603253       1 reflector.go:205] k8s.io/kubernetes/cmd/kube-scheduler/app/server.go:176: Failed to list *v1.Pod: pods is forbidden: User "system:kube-scheduler" cannot list pods at the cluster scope
E0813 21:18:25.603286       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.StorageClass: storageclasses.storage.k8s.io is forbidden: User "system:kube-scheduler" cannot list storageclasses.storage.k8s.io at the cluster scope
E0813 21:18:25.603335       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolumeClaim: persistentvolumeclaims is forbidden: User "system:kube-scheduler" cannot list persistentvolumeclaims at the cluster scope
E0813 21:18:25.603364       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.StatefulSet: statefulsets.apps is forbidden: User "system:kube-scheduler" cannot list statefulsets.apps at the cluster scope
E0813 21:18:25.603437       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.PodDisruptionBudget: poddisruptionbudgets.policy is forbidden: User "system:kube-scheduler" cannot list poddisruptionbudgets.policy at the cluster scope
E0813 21:18:25.603491       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.ReplicaSet: replicasets.extensions is forbidden: User "system:kube-scheduler" cannot list replicasets.extensions at the cluster scope
E0813 21:18:25.605642       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Node: nodes is forbidden: User "system:kube-scheduler" cannot list nodes at the cluster scope
E0813 21:18:26.603723       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolume: persistentvolumes is forbidden: User "system:kube-scheduler" cannot list persistentvolumes at the cluster scope
E0813 21:18:26.606225       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Service: services is forbidden: User "system:kube-scheduler" cannot list services at the cluster scope
E0813 21:18:26.606295       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.ReplicationController: replicationcontrollers is forbidden: User "system:kube-scheduler" cannot list replicationcontrollers at the cluster scope
E0813 21:18:26.607860       1 reflector.go:205] k8s.io/kubernetes/cmd/kube-scheduler/app/server.go:176: Failed to list *v1.Pod: pods is forbidden: User "system:kube-scheduler" cannot list pods at the cluster scope
E0813 21:18:26.611457       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.StorageClass: storageclasses.storage.k8s.io is forbidden: User "system:kube-scheduler" cannot list storageclasses.storage.k8s.io at the cluster scope
E0813 21:18:26.612777       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolumeClaim: persistentvolumeclaims is forbidden: User "system:kube-scheduler" cannot list persistentvolumeclaims at the cluster scope
E0813 21:18:26.616076       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.StatefulSet: statefulsets.apps is forbidden: User "system:kube-scheduler" cannot list statefulsets.apps at the cluster scope
E0813 21:18:26.616779       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.PodDisruptionBudget: poddisruptionbudgets.policy is forbidden: User "system:kube-scheduler" cannot list poddisruptionbudgets.policy at the cluster scope
E0813 21:18:26.619308       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.ReplicaSet: replicasets.extensions is forbidden: User "system:kube-scheduler" cannot list replicasets.extensions at the cluster scope
E0813 21:18:26.620048       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Node: nodes is forbidden: User "system:kube-scheduler" cannot list nodes at the cluster scope
I0813 21:18:28.429769       1 controller_utils.go:1025] Waiting for caches to sync for scheduler controller
I0813 21:18:28.533687       1 controller_utils.go:1032] Caches are synced for scheduler controller
I0813 21:18:28.533868       1 leaderelection.go:185] attempting to acquire leader lease  kube-system/kube-scheduler...
I0813 21:18:28.539621       1 leaderelection.go:194] successfully acquired lease kube-system/kube-scheduler

рдореБрдЭреЗ рд╕рдЯреАрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

KubeDNS рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

1.11.x рдореЗрдВ CoreDNS рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбреАрдПрдирдПрд╕ рд╕рд░реНрд╡рд░ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рд╣реИ?

cat /var/lib/kubelet/kubeadm-flags.env

/var/lib/kubelet/kubeadm-flags.env рдХреБрдмреЗрджрдо рд░рдирдЯрд╛рдЗрдо рдкрд░ рдСрдЯреЛ-рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдк /etc/default/kubelet рдореЗрдВ рдЭрдВрдбреЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ

рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ:
https://github.com/kubernetes/kubernetes/blob/master/build/debs/10-kubeadm.conf

--resolv-conf рдзреНрд╡рдЬ рдЧрд╛рдпрдм рд╣реИред

рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдЖрдкрдХрд╛ рдбрд┐рд╕реНрдЯреНрд░реЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html

-cni-bin-dir = / opt / cni / bin --cni-conf-dir = / etc / cni / d.d

рдпреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди AFAIK рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдСрдЯреЛ-рдЬреЛрдбрд╝рд╛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдмреЗрд╣рддрд░ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреБрд▓рд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред

рдореБрдЭреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдореИрдВ рдпрд╛рдж рдЖ рд░рд╣реА рдереА loopback рдкрд░ рд╕реАрдПрдирдЖрдИ рдХреА рдмрд╛рдЗрдирд░реА /opt/cni/bin ред

cd /opt/cni/bin
curl -L -O https://github.com/containernetworking/cni/releases/download/v0.4.0/cni-amd64-v0.4.0.tgz
tar -xf cni-amd64-v0.4.0.tgz
systemctl restart kubelet

рдореИрдВ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдорд┐рд▓рд╛ рдФрд░ рдлрд▓рд╛рд▓реИрди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред рдлрд▓рд╛рд▓реИрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, coredns рдФрд░ рдЕрдиреНрдп рдлрд▓реА рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдлрд▓рд╛рд▓реИрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ?

рдореИрдВ kubeadm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ K8s рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рднреА рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ --pod-network-cidr arg рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдлрд▓рд╛рд▓реИрди рдпрд╛ рдЕрдиреНрдп рдкреЙрдб рдиреЗрдЯрд╡рд░реНрдХ рдРрдб-рдСрди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдлрд▓реА рдХреЛ рдЖрдИрдкреА рдХреИрд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПред

рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЖрдк journal -xeu kubelet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрджреЗрд╢ рджреЗрдЦрддреЗ рд╣реИрдВ:

26710 kubelet.go:2112] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninit
Jul 09 21:54:49 beetlejuice kubelet[26710]: E0709 21:54:49.566069   26710 dns.go:131] Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 213.133.99.99 213.133.98.98 213.133.100.100
Jul 09 21:54:53 beetlejuice kubelet[26710]: W0709 21:54:53.884846   26710 cni.go:172] Unable to update cni config: No networks found in /etc/cni/net.d

рдореИрдВрдиреЗ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рд╕рдорд╛рди рд▓реЙрдЧ рднреА рджреЗрдЦреЗ рдФрд░ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рд╣реИред

рдлрд▓рд╛рд▓реИрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ?

CNI рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm
Installing a pod network add-on
You must install a pod network add-on so that your pods can communicate with each other.

CNI рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm

рдореЗрд░реЗ рдХреЙрд░реНрдбрди рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдмрд╛рдж рдПрдХ рдкреЙрдб рдиреЗрдЯрд╡рд░реНрдХ рдРрдб-рдСрди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдм рдореИрдВ рдЗрд╕реЗ рдЬрд╛рдирддрд╛ рд╣реВрдВ, рдзрдиреНрдпрд╡рд╛рджред

рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд╕реВрдЪрдХ рд╕реЗ рдХреЛрдИ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИрдВред

/Var/lib/kubelet/kubeadm-flags.env рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ

--resolv-conf рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдареАрдХ рд╣реИред

рдЕрдм рддрдХ рдпрд╣ рдПрдХ рдПрдХрд▓ рдиреЛрдб рдХреНрдпреВрдм рд╣реЛрдЧрд╛ред

kubeadm reset рдФрд░ рдлрд┐рд░ kubeadm init ... рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред
рдлрд┐рд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбрд╛рдпрд░ рдХреЛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдкреЙрдб рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд▓рдЧ рдЗрди (рд╡реАрд╡реА) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдбреАрдПрдирдПрд╕ рдлрд▓реА рддреИрдпрд╛рд░ рд╣реИред рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВред

рдЗрд╕рд╕реЗ рдореЗрд░рд╛ рдХрд╛рдо рдмрдирддрд╛ рд╣реИ! рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд╕реВрдЪрдХ рд╕реЗ рдХреЛрдИ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИрдВред

/Var/lib/kubelet/kubeadm-flags.env рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ

--resolv-conf рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдареАрдХ рд╣реИред

рдЕрдм рддрдХ рдпрд╣ рдПрдХ рдПрдХрд▓ рдиреЛрдб рдХреНрдпреВрдм рд╣реЛрдЧрд╛ред

kubeadm reset рдФрд░ рдлрд┐рд░ kubeadm init ... рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред
рдлрд┐рд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбрд╛рдпрд░ рдХреЛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдкреЙрдб рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд▓рдЧ рдЗрди (рд╡реАрд╡реА) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдбреАрдПрдирдПрд╕ рдлрд▓реА рддреИрдпрд╛рд░ рд╣реИред рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВред

serviceaccount / wea-net рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдХреНрд▓рд╕реНрдЯрд░рд╣реЛрд▓ред рдЖрд░рдЖрд░рдПрд╕реАрдПрд╕реА.рдСрдереЛрд░рд╛рдЗрдЬреЗрд╢рдиред k8s.io/weave-net рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдХреНрд▓рд╕реНрдЯрд░реЛрд▓рдмрд╛рдЗрдВрдбрд┐рдВрдЧ .rbac.authorization.k8s.io/weave-net рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
role.rbac.authorization.k8s.io/weave-net рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
rolebinding.rbac.authorization.k8s.io/weave-net рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рд╕рдВрд╕реНрдХрд░рдг "рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1" рдореЗрдВ "DaemonSet" рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд┐рд▓рд╛рди рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рд╕рдВрд╕реНрдХрд░рдг "рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1" рдореЗрдВ "DaemonSet" рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд┐рд▓рд╛рди рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рдпрд╣ CNI рдкреНрд▓рдЧрдЗрди рдкрдХреНрд╖ рдкрд░ рдПрдХ рдмрдЧ рд╣реИред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп Callico CNI рдкреНрд▓рдЧрдЗрди рдЖрдЬрд╝рдорд╛рдПрдВред

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

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

ggee picture ggee  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

andersla picture andersla  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

mattmoyer picture mattmoyer  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cnmade picture cnmade  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ