Kubeadm: CoreDNS k8s 1.11 рдФрд░ рдмреБрдирд╛рдИ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рд╣реБрдЖ (CentOS 7)

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

рдХреНрдпрд╛ рдпрд╣ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдпрд╛ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ?

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

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

рдХреБрдмреЗрджрдо рд╕рдВрд╕реНрдХрд░рдг 1.11

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

  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг ( kubectl version рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ): 1.11
  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди : aws ec2 (16vcpus 64gb RAM) рдХреЗ рд╕рд╛рде
  • OS (рдЬреИрд╕реЗ /etc/os-release рд╕реЗ): рд╕реЗрдВрдЯреЛрд╕ 7
  • рдХрд░реНрдиреЗрд▓ (рдЬреИрд╕реЗ uname -a ): 3.10.0-693.17.1.el7.x86_64
  • рдЕрдиреНрдп : рд╕реАрдПрдирдЖрдИ рдРрдб-рдСрди рдХреЗ рд░реВрдк рдореЗрдВ рдмреБрдиреЗрдВ

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

рдХреБрдмреЗрджрдо рдЗрдирд┐рдЯ рдХреЗ рдмрд╛рдж рдХреЛрд░реЛрд╕ рдкреЙрдбреНрд╕ рдПрд░рд░ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ

NAME                                   READY     STATUS    RESTARTS   AGE
coredns-78fcdf6894-ljdjp               0/1       Error     6          9m
coredns-78fcdf6894-p6flm               0/1       Error     6          9m
etcd-master                            1/1       Running   0          8m
heapster-5bbdfbff9f-h5h2n              1/1       Running   0          9m
kube-apiserver-master                  1/1       Running   0          8m
kube-controller-manager-master         1/1       Running   0          8m
kube-proxy-5642r                       1/1       Running   0          9m
kube-scheduler-master                  1/1       Running   0          8m
kubernetes-dashboard-6948bdb78-bwkvx   1/1       Running   0          9m
weave-net-r5jkg                        2/2       Running   0          9m

рджреЛрдиреЛрдВ рдкреЙрдбреНрд╕ рдХреЗ рд▓реЙрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ:
standard_init_linux.go:178: exec user process caused "operation not permitted"

kindocumentation lifecyclactive prioritimportant-soon

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

рдзрдиреНрдпрд╡рд╛рдж, @chrisohaver !

рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛:

kubectl -n kube-system get deployment coredns -o yaml | \
  sed 's/allowPrivilegeEscalation: false/allowPrivilegeEscalation: true/g' | \
  kubectl apply -f -

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

@ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕/рд╕рд┐рдЧ-рдиреЗрдЯрд╡рд░реНрдХ-рдмрдЧ

@carlosmkb , рдЖрдкрдХрд╛ рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рд╣реИ?

рдореБрдЭреЗ рдЗрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рдХрдард┐рди рд▓рдЧрддрд╛ рд╣реИ, рд╣рдо рдЕрдкрдиреА рддрд░рдл рд╕реЗ CentOS 7 рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдкреЙрдб рд▓реЙрдЧ рд╣реИрдВ?

@dims , рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛

@neolit123 рдФрд░ @timothysc

рдбреЛрдХрд░ рд╕рдВрд╕реНрдХрд░рдг: docker-1.13.1-63.git94f4240.el7.centos.x86_64

coredns рдкреЙрдб рд▓реЙрдЧ : standard_init_linux.go:178: exec user process caused "operation not permitted"
рд╕рд┐рд╕реНрдЯрдо рд▓реЙрдЧ journalctl -xeu kubelet :

Jul 17 23:45:17 server.raid.local kubelet[20442]: E0717 23:45:17.679867   20442 pod_workers.go:186] Error syncing pod dd030886-89f4-11e8-9786-0a92797fa29e ("cas-7d6d97c7bd-mzw5j_raidcloud(dd030886-89f4-11e8-9786-0a92797fa29e)"), skipping: failed to "StartContainer" for "cas" with ImagePullBackOff: "Back-off pulling image \"registry.raidcloud.io/raidcloud/cas:180328.pvt.01\""
Jul 17 23:45:18 server.raid.local kubelet[20442]: I0717 23:45:18.679059   20442 kuberuntime_manager.go:513] Container {Name:json2ldap Image:registry.raidcloud.io/raidcloud/json2ldap:180328.pvt.01 Command:[] Args:[] WorkingDir: Ports:[] EnvFrom:[] Env:[] Resources:{Limits:map[] Requests:map[]} VolumeMounts:[{Name:default-token-f2cmq ReadOnly:true MountPath:/var/run/secrets/kubernetes.io/serviceaccount SubPath: MountPropagation:<nil>}] VolumeDevices:[] LivenessProbe:&Probe{Handler:Handler{Exec:nil,HTTPGet:&HTTPGetAction{Path:/,Port:8080,Host:,Scheme:HTTP,HTTPHeaders:[],},TCPSocket:nil,},InitialDelaySeconds:30,TimeoutSeconds:5,PeriodSeconds:10,SuccessThreshold:1,FailureThreshold:3,} ReadinessProbe:nil Lifecycle:nil TerminationMessagePath:/dev/termination-log TerminationMessagePolicy:File ImagePullPolicy:IfNotPresent SecurityContext:&SecurityContext{Capabilities:nil,Privileged:*true,SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,ReadOnlyRootFilesystem:nil,AllowPrivilegeEscalation:nil,RunAsGroup:nil,} Stdin:false StdinOnce:false TTY:false} is dead, but RestartPolicy says that we should restart it.
Jul 17 23:45:18 server.raid.local kubelet[20442]: E0717 23:45:18.680001   20442 pod_workers.go:186] Error syncing pod dcc39ce2-89f4-11e8-9786-0a92797fa29e ("json2ldap-666fc85686-tmxrr_raidcloud(dcc39ce2-89f4-11e8-9786-0a92797fa29e)"), skipping: failed to "StartContainer" for "json2ldap" with ImagePullBackOff: "Back-off pulling image \"registry.raidcloud.io/raidcloud/json2ldap:180328.pvt.01\""
Jul 17 23:45:21 server.raid.local kubelet[20442]: I0717 23:45:21.678232   20442 kuberuntime_manager.go:513] Container {Name:coredns Image:k8s.gcr.io/coredns:1.1.3 Command:[] Args:[-conf /etc/coredns/Corefile] WorkingDir: Ports:[{Name:dns HostPort:0 ContainerPort:53 Protocol:UDP HostIP:} {Name:dns-tcp HostPort:0 ContainerPort:53 Protocol:TCP HostIP:} {Name:metrics HostPort:0 ContainerPort:9153 Protocol:TCP HostIP:}] EnvFrom:[] Env:[] Resources:{Limits:map[memory:{i:{value:178257920 scale:0} d:{Dec:<nil>} s:170Mi Format:BinarySI}] Requests:map[cpu:{i:{value:100 scale:-3} d:{Dec:<nil>} s:100m Format:DecimalSI} memory:{i:{value:73400320 scale:0} d:{Dec:<nil>} s:70Mi Format:BinarySI}]} VolumeMounts:[{Name:config-volume ReadOnly:true MountPath:/etc/coredns SubPath: MountPropagation:<nil>} {Name:coredns-token-6nhgg ReadOnly:true MountPath:/var/run/secrets/kubernetes.io/serviceaccount SubPath: MountPropagation:<nil>}] VolumeDevices:[] LivenessProbe:&Probe{Handler:Handler{Exec:nil,HTTPGet:&HTTPGetAction{Path:/health,Port:8080,Host:,Scheme:HTTP,HTTPHeaders:[],},TCPSocket:nil,},InitialDelaySeconds:60,TimeoutSeconds:5,PeriodSeconds:10,SuccessThreshold:1,FailureThreshold:5,} ReadinessProbe:nil Lifecycle:nil TerminationMessagePath:/dev/termination-log TerminationMessagePolicy:File ImagePullPolicy:IfNotPresent SecurityContext:&SecurityContext{Capabilities:&Capabilities{Add:[NET_BIND_SERVICE],Drop:[all],},Privileged:nil,SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,ReadOnlyRootFilesystem:*true,AllowPrivilegeEscalation:*false,RunAsGroup:nil,} Stdin:false StdinOnce:false TTY:false} is dead, but RestartPolicy says that we should restart it.
Jul 17 23:45:21 server.raid.local kubelet[20442]: I0717 23:45:21.678311   20442 kuberuntime_manager.go:757] checking backoff for container "coredns" in pod "coredns-78fcdf6894-znfvw_kube-system(9b44aa92-89f7-11e8-9786-0a92797fa29e)"
Jul 17 23:45:21 server.raid.local kubelet[20442]: I0717 23:45:21.678404   20442 kuberuntime_manager.go:767] Back-off 5m0s restarting failed container=coredns pod=coredns-78fcdf6894-znfvw_kube-system(9b44aa92-89f7-11e8-9786-0a92797fa29e)
Jul 17 23:45:21 server.raid.local kubelet[20442]: E0717 23:45:21.678425   20442 pod_workers.go:186] Error syncing pod 9b44aa92-89f7-11e8-9786-0a92797fa29e ("coredns-78fcdf6894-znfvw_kube-system(9b44aa92-89f7-11e8-9786-0a92797fa29e)"), skipping: failed to "StartContainer" for "coredns" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=coredns pod=coredns-78fcdf6894-znfvw_kube-system(9b44aa92-89f7-11e8-9786-0a92797fa29e)"
Jul 17 23:45:22 server.raid.local kubelet[20442]: I0717 23:45:22.679145   20442 kuberuntime_manager.go:513] Container {Name:login Image:registry.raidcloud.io/raidcloud/admin:180329.pvt.05 Command:[] Args:[] WorkingDir: Ports:[] EnvFrom:[] Env:[] Resources:{Limits:map[] Requests:map[]} VolumeMounts:[{Name:login-config ReadOnly:true MountPath:/usr/share/nginx/conf/ SubPath: MountPropagation:<nil>} {Name:default-token-f2cmq ReadOnly:true MountPath:/var/run/secrets/kubernetes.io/serviceaccount SubPath: MountPropagation:<nil>}] VolumeDevices:[] LivenessProbe:&Probe{Handler:Handler{Exec:nil,HTTPGet:&HTTPGetAction{Path:/health,Port:8080,Host:,Scheme:HTTP,HTTPHeaders:[],},TCPSocket:nil,},InitialDelaySeconds:5,TimeoutSeconds:5,PeriodSeconds:10,SuccessThreshold:1,FailureThreshold:3,} ReadinessProbe:nil Lifecycle:nil TerminationMessagePath:/dev/termination-log TerminationMessagePolicy:File ImagePullPolicy:IfNotPresent SecurityContext:&SecurityContext{Capabilities:nil,Privileged:*true,SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,ReadOnlyRootFilesystem:nil,AllowPrivilegeEscalation:nil,RunAsGroup:nil,} Stdin:false StdinOnce:false TTY:false} is dead, but RestartPolicy says that we should restart it.
Jul 17 23:45:22 server.raid.local kubelet[20442]: E0717 23:45:22.679941   20442 pod_workers.go:186] Error syncing pod dc8392a9-89f4-11e8-9786-0a92797fa29e ("login-85ffb66bb8-5l9fq_raidcloud(dc8392a9-89f4-11e8-9786-0a92797fa29e)"), skipping: failed to "StartContainer" for "login" with ImagePullBackOff: "Back-off pulling image \"registry.raidcloud.io/raidcloud/admin:180329.pvt.05\""
Jul 17 23:45:23 server.raid.local kubelet[20442]: I0717 23:45:23.678172   20442 kuberuntime_manager.go:513] Container {Name:coredns Image:k8s.gcr.io/coredns:1.1.3 Command:[] Args:[-conf /etc/coredns/Corefile] WorkingDir: Ports:[{Name:dns HostPort:0 ContainerPort:53 Protocol:UDP HostIP:} {Name:dns-tcp HostPort:0 ContainerPort:53 Protocol:TCP HostIP:} {Name:metrics HostPort:0 ContainerPort:9153 Protocol:TCP HostIP:}] EnvFrom:[] Env:[] Resources:{Limits:map[memory:{i:{value:178257920 scale:0} d:{Dec:<nil>} s:170Mi Format:BinarySI}] Requests:map[cpu:{i:{value:100 scale:-3} d:{Dec:<nil>} s:100m Format:DecimalSI} memory:{i:{value:73400320 scale:0} d:{Dec:<nil>} s:70Mi Format:BinarySI}]} VolumeMounts:[{Name:config-volume ReadOnly:true MountPath:/etc/coredns SubPath: MountPropagation:<nil>} {Name:coredns-token-6nhgg ReadOnly:true MountPath:/var/run/secrets/kubernetes.io/serviceaccount SubPath: MountPropagation:<nil>}] VolumeDevices:[] LivenessProbe:&Probe{Handler:Handler{Exec:nil,HTTPGet:&HTTPGetAction{Path:/health,Port:8080,Host:,Scheme:HTTP,HTTPHeaders:[],},TCPSocket:nil,},InitialDelaySeconds:60,TimeoutSeconds:5,PeriodSeconds:10,SuccessThreshold:1,FailureThreshold:5,} ReadinessProbe:nil Lifecycle:nil TerminationMessagePath:/dev/termination-log TerminationMessagePolicy:File ImagePullPolicy:IfNotPresent SecurityContext:&SecurityContext{Capabilities:&Capabilities{Add:[NET_BIND_SERVICE],Drop:[all],},Privileged:nil,SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,ReadOnlyRootFilesystem:*true,AllowPrivilegeEscalation:*false,RunAsGroup:nil,} Stdin:false StdinOnce:false TTY:false} is dead, but RestartPolicy says that we should restart it.
Jul 17 23:45:23 server.raid.local kubelet[20442]: I0717 23:45:23.678412   20442 kuberuntime_manager.go:757] checking backoff for container "coredns" in pod "coredns-78fcdf6894-lcqt5_kube-system(9b45a068-89f7-11e8-9786-0a92797fa29e)"
Jul 17 23:45:23 server.raid.local kubelet[20442]: I0717 23:45:23.678532   20442 kuberuntime_manager.go:767] Back-off 5m0s restarting failed container=coredns pod=coredns-78fcdf6894-lcqt5_kube-system(9b45a068-89f7-11e8-9786-0a92797fa29e)
Jul 17 23:45:23 server.raid.local kubelet[20442]: E0717 23:45:23.678554   20442 pod_workers.go:186] Error syncing pod 9b45a068-89f7-11e8-9786-0a92797fa29e ("coredns-78fcdf6894-lcqt5_kube-system(9b45a068-89f7-11e8-9786-0a92797fa29e)"), skipping: failed to "StartContainer" for "coredns" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=coredns pod=coredns-78fcdf6894-lcqt5_kube-system(9b45a068-89f7-11e8-9786-0a92797fa29e)"

рдЕрддреАрдд рдореЗрдВ рдЕрдиреНрдп рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓реЗред
CoreDNS рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ "allowPrivilegeEscalation: false" рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИред

рдореЗрд░реЗ рд▓рд┐рдП рд╡рд╣реА рдореБрджреНрджрд╛ред рд╕рдорд╛рди рд╕реЗрдЯрдЕрдк CentOS 7.4.1708, Docker рд╕рдВрд╕реНрдХрд░рдг 1.13.1, рдмрд┐рд▓реНрдб 94f4240/1.13.1 (CentOS рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ):

[root@faas-A01 ~]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                                 READY     STATUS             RESTARTS   AGE
kube-system   calico-node-2vssv                                    2/2       Running            0          9m
kube-system   calico-node-4vr7t                                    2/2       Running            0          7m
kube-system   calico-node-nlfnd                                    2/2       Running            0          17m
kube-system   calico-node-rgw5w                                    2/2       Running            0          23m
kube-system   coredns-78fcdf6894-p4wbl                             0/1       CrashLoopBackOff   9          30m
kube-system   coredns-78fcdf6894-r4pwf                             0/1       CrashLoopBackOff   9          30m
kube-system   etcd-faas-a01.sl.cloud9.ibm.com                      1/1       Running            0          29m
kube-system   kube-apiserver-faas-a01.sl.cloud9.ibm.com            1/1       Running            0          29m
kube-system   kube-controller-manager-faas-a01.sl.cloud9.ibm.com   1/1       Running            0          29m
kube-system   kube-proxy-55csj                                     1/1       Running            0          17m
kube-system   kube-proxy-56r8c                                     1/1       Running            0          30m
kube-system   kube-proxy-kncql                                     1/1       Running            0          9m
kube-system   kube-proxy-mf2bp                                     1/1       Running            0          7m
kube-system   kube-scheduler-faas-a01.sl.cloud9.ibm.com            1/1       Running            0          29m
[root@faas-A01 ~]# kubectl logs --namespace=all coredns-78fcdf6894-p4wbl
Error from server (NotFound): namespaces "all" not found
[root@faas-A01 ~]# kubectl logs --namespace=kube-system coredns-78fcdf6894-p4wbl
standard_init_linux.go:178: exec user process caused "operation not permitted"

рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реЗрд▓рд┐рдирдХреНрд╕ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдЕрдиреБрдореЗрдп рдореЛрдб рдореЗрдВ рд╣реИред

рдореИрдВ рдХреИрд▓рд┐рдХреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (@carlosmkb рдХреЗ рд░реВрдк рдореЗрдВ рдмреБрдирд╛рдИ рдирд╣реАрдВ)ред

[ рд░реВрдЯ@faas-A01 ~]# kubectl logs --namespace=kube-system coredns-78fcdf6894-p4wbl
Standard_init_linux.go:178: рдирд┐рд╖реНрдкрд╛рджрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдХрд╛рд░рдг "рдСрдкрд░реЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ"

рдЖрд╣ - рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдпрд╣ Kubectl рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ, рд▓реЙрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ ...

@chrisohaver kubectl logs рджреВрд╕рд░реЗ рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо рдкреЙрдбреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдареАрдХ рд╣реИ - рдХреНрдпрд╛ рдЖрдкрдиреЗ CoreDNS рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ "allowPrivilegeEscalation: false" рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИ?

... рдХреНрдпрд╛ рдХреЛрд░реНрдбрдиреНрд╕ рдкреЙрдб рдХрд╛ kubectl describe рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рджрд┐рдЦрд╛рддрд╛ рд╣реИ?

рдореЗрд░реЗ рд▓рд┐рдП рд╡рд╣реА рдореБрджреНрджрд╛ред
CentOS Linux рд░рд┐рд▓реАрдЬрд╝ 7.5.1804 (рдХреЛрд░)
рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг 1.13.1, dded712/1.13.1 . рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рд╕реАрдПрдирдЖрдИ рдРрдб-рдСрди рдХреЗ рд░реВрдк рдореЗрдВ рдлрд▓рд╛рд▓реИрди

[root<strong i="9">@k8s</strong> ~]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                 READY     STATUS             RESTARTS   AGE
kube-system   coredns-78fcdf6894-cfmm7             0/1       CrashLoopBackOff   12         15m
kube-system   coredns-78fcdf6894-k65js             0/1       CrashLoopBackOff   11         15m
kube-system   etcd-k8s.master                      1/1       Running            0          14m
kube-system   kube-apiserver-k8s.master            1/1       Running            0          13m
kube-system   kube-controller-manager-k8s.master   1/1       Running            0          14m
kube-system   kube-flannel-ds-fts6v                1/1       Running            0          14m
kube-system   kube-proxy-4tdb5                     1/1       Running            0          15m
kube-system   kube-scheduler-k8s.master            1/1       Running            0          14m
[root<strong i="10">@k8s</strong> ~]# kubectl logs coredns-78fcdf6894-cfmm7 -n kube-system
standard_init_linux.go:178: exec user process caused "operation not permitted"
[root<strong i="11">@k8s</strong> ~]# kubectl describe pods coredns-78fcdf6894-cfmm7 -n kube-system
Name:           coredns-78fcdf6894-cfmm7
Namespace:      kube-system
Node:           k8s.master/192.168.150.40
Start Time:     Fri, 27 Jul 2018 00:32:09 +0800
Labels:         k8s-app=kube-dns
                pod-template-hash=3497892450
Annotations:    <none>
Status:         Running
IP:             10.244.0.12
Controlled By:  ReplicaSet/coredns-78fcdf6894
Containers:
  coredns:
    Container ID:  docker://3b7670fbc07084410984d7e3f8c0fa1b6d493a41d2a4e32f5885b7db9d602417
    Image:         k8s.gcr.io/coredns:1.1.3
    Image ID:      docker-pullable://k8s.gcr.io/coredns<strong i="12">@sha256</strong>:db2bf53126ed1c761d5a41f24a1b82a461c85f736ff6e90542e9522be4757848
    Ports:         53/UDP, 53/TCP, 9153/TCP
    Host Ports:    0/UDP, 0/TCP, 0/TCP
    Args:
      -conf
      /etc/coredns/Corefile
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Fri, 27 Jul 2018 00:46:30 +0800
      Finished:     Fri, 27 Jul 2018 00:46:30 +0800
    Ready:          False
    Restart Count:  12
    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-vqslm (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
  coredns-token-vqslm:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-vqslm
    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  16m (x6 over 16m)   default-scheduler    0/1 nodes are available: 1 node(s) were not ready.
  Normal   Scheduled         16m                 default-scheduler    Successfully assigned kube-system/coredns-78fcdf6894-cfmm7 to k8s.master
  Warning  BackOff           14m (x10 over 16m)  kubelet, k8s.master  Back-off restarting failed container
  Normal   Pulled            14m (x5 over 16m)   kubelet, k8s.master  Container image "k8s.gcr.io/coredns:1.1.3" already present on machine
  Normal   Created           14m (x5 over 16m)   kubelet, k8s.master  Created container
  Normal   Started           14m (x5 over 16m)   kubelet, k8s.master  Started container
  Normal   Pulled            11m (x4 over 12m)   kubelet, k8s.master  Container image "k8s.gcr.io/coredns:1.1.3" already present on machine
  Normal   Created           11m (x4 over 12m)   kubelet, k8s.master  Created container
  Normal   Started           11m (x4 over 12m)   kubelet, k8s.master  Started container
  Warning  BackOff           2m (x56 over 12m)   kubelet, k8s.master  Back-off restarting failed container
[root<strong i="13">@k8s</strong> ~]# uname
Linux
[root<strong i="14">@k8s</strong> ~]# uname -a
Linux k8s.master 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root<strong i="15">@k8s</strong> ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root<strong i="16">@k8s</strong> ~]# docker --version
Docker version 1.13.1, build dded712/1.13.1

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рд╕реЗрд▓рд┐рдирдХреНрд╕ рдкрд░реНрд╕рдорд┐рд╕рд┐рд╡ рдореЛрдб рдореЗрдВ рд╣реИред рдЬрдм рдореИрдВ рдЗрд╕реЗ /etc/selinux/conf SELINUX=disabled рдФрд░ рд░реАрдмреВрдЯ рдорд╢реАрди рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдкреЙрдб рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд░реЗрдбрд╣реИрдЯ 7.4, рдХрд░реНрдиреЗрд▓ 3.10.0-693.11.6.el7.x86_64
docker-1.13.1-68.gitdded712.el7.x86_64

рдПрдлрд╡рд╛рдИрдЖрдИ, рдореЗрд░реЗ рд▓рд┐рдП SELinux рдЕрдХреНрд╖рдо рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЕрдиреБрдореЗрдп рдирд╣реАрдВ, рд▓реЗрдХрд┐рди _disabled_)ред
рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг 1.13.1, dded712/1.13.1 . рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рд╕реЗрдВрдЯреЛрд╕ 7

[root<strong i="8">@centosk8s</strong> ~]# kubectl logs coredns-78fcdf6894-rhx9p -n kube-system
.:53
CoreDNS-1.1.3
linux/amd64, go1.10.1, b0fd575c
2018/07/27 16:37:31 [INFO] CoreDNS-1.1.3
2018/07/27 16:37:31 [INFO] linux/amd64, go1.10.1, b0fd575c
2018/07/27 16:37:31 [INFO] plugin/reload: Running configuration MD5 = 2a066f12ec80aeb2b92740dd74c17138

рд╣рдо рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реЗрд▓рд┐рдирдХреНрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд░рдВрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рдареАрдХ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ?

рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, CoreDNS рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ "allowPrivilegeEscalation: false" рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдбреЙрдХрд░ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг (1.13 рд╕реЗ рдЕрдзрд┐рдХ) рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рднреА рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдореБрджреНрджрд╛
рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг 1.2.6
рд╕реЗрдВрдЯреЛрд╕ 7
@lareeth рдХреА рддрд░рд╣ рд╣рдо рднреА Kubeadm рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ Kubernetes рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ selinux рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд░рдВрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рднреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред
@chrisohaver рд╕реЗрд▓рд┐рдирдХреНрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рдпрд╣ рдорджрджрдЧрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж !
рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреБрдмреЗрджрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреЛрд░реНрдбрди рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ
рдХреНрдпрд╛ рдХреЛрдИ рджреВрд╕рд░рд╛ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ?

рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, CoreDNS рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ "allowPrivilegeEscalation: false" рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдбреЙрдХрд░ рдХреЗ рдЕрдзрд┐рдХ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП k8s рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдВрд╕реНрдХрд░рдг) рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рднреА рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреЛрд░реНрдбрдиреНрд╕ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ "allowPrivilegeEscalation: false" рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ (SE linux рдЕрдиреБрдореЗрдп рдореЛрдб рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде)ред

рдореИрдВрдиреЗ рдпрд╣ рднреА рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ (рдбреЙрдХрд░ 17.03) рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдбреЙрдХрдЯрд░ рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ "allowPrivilegeEscalation: false" рдХреЛрд░реНрдбрдиреНрд╕ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ SELinux рдЕрдиреБрдореЗрдп рдореЛрдб рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ docker рдФрд░ SELinux рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ allowPrivilegeEscalation рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддрд┐ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ docker рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

3 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдордХрд╛рдЬ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ:

  • рдбреЙрдХрд░ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 17.03, рд╡рд░реНрддрдорд╛рди рдореЗрдВ k8s . рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдВрд╕реНрдХрд░рдг
  • рдпрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рдкреЙрдб рд╕реНрдкреЗрдХ рд╕реЗ allowPrivilegeEscalation=false рд╣рдЯрд╛рдПрдВ
  • рдпрд╛ SELinux рдЕрдХреНрд╖рдо рдХрд░реЗрдВ

@chrisohaver рдореИрдВрдиреЗ рдбреЙрдХрд░ 17.03 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдХреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж

рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @chrisohaver : 100:

рдзрдиреНрдпрд╡рд╛рдж, @chrisohaver !

рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛:

kubectl -n kube-system get deployment coredns -o yaml | \
  sed 's/allowPrivilegeEscalation: false/allowPrivilegeEscalation: true/g' | \
  kubectl apply -f -

@ рдХреНрд░рд┐рд╕реЛрд╣рд╛рд╡рд░
рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ SELinux рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП kubeadm рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ рдЗрд╕ рдЪрд░рдг рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:


coredns рдкреЙрдбреНрд╕ рдореЗрдВ CrashLoopBackOff рдпрд╛ Error рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ Docker рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде SELinux рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдб рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ coredns рдкреЙрдб рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдирд┐рдореНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдбреЙрдХрд░ рдХреЗ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ - 17.03 рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИред
  • SELinux рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред
  • coredns рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ allowPrivilegeEscalation рд╕реЗ true рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:
kubectl -n kube-system get deployment coredns -o yaml | \
  sed 's/allowPrivilegeEscalation: false/allowPrivilegeEscalation: true/g' | \
  kubectl apply -f -

рдбрдмреНрд▓реНрдпреВрдбреАрд╡рд╛рдИрдЯреА? рдХреГрдкрдпрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдВ рдХрд┐ рдкрд╛рда рдореЗрдВ рд╕рдВрд╢реЛрдзрди рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред рд╣рдореЗрдВ рд╢рд╛рдпрдж рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ SELinux рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддреЗ рд╕рдордп, рдпрд╛ allowPrivilegeEscalation рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдорд╛рдзрд╛рди рдбреЙрдХрд░ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реИ (17.03)

@ рдХреНрд░рд┐рд╕реЛрд╣рд╛рд╡рд░
рд╕рдордЭрд╛ рдЬрд╛рдПрдЧрд╛, рдХреЙрдкреА рдореЗрдВ рд╕рдВрд╢реЛрдзрди рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░реЗрдЧрд╛ред

рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдореЗрдВ рднреА рдЙрддреНрддрд░ рд╣реИ:
https://stackoverflow.com/questions/53075796/coredns-pods-have-crashloopbackoff-or-error-state

рдпрд╣ рдЧрд▓рддреА

[FATAL] plugin/loop: Seen "HINFO IN 6900627972087569316.7905576541070882081." more than twice, loop detected

рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм CoreDNS рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд▓реВрдк рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЗрдЪреНрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдорд╛рд░ рд░рд╣реЗ рд╣реИрдВ:

https://github.com/kubernetes/kubeadm/issues/1162

https://github.com/coredns/coredns/issues/2087

рд╣реИрдХреА рд╕рдорд╛рдзрд╛рди: CoreDNS рд▓реВрдк рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ

CoreDNS рдХреЙрдиреНрдлрд┐рдЧрдореИрдк рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

kubectl -n kube-system edit configmap coredns

loop рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдХреЛ рд╣рдЯрд╛рдПрдВ рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ, рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред

рдлрд┐рд░ CoreDNS рдкреЙрдбреНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рддрд╛рдХрд┐ рдирдП рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗ рд╕рд╛рде рдирдП рдмрдирд╛рдП рдЬрд╛ рд╕рдХреЗрдВ:

kubectl -n kube-system delete pod -l k8s-app=kube-dns

рдЙрд╕рдХреЗ рдмрд╛рдж рд╕рдм рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкрд╕рдВрджреАрджрд╛ рд╕рдорд╛рдзрд╛рди: DNS рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд▓реВрдк рдирд┐рдХрд╛рд▓реЗрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк systemd-resolved рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк Ubuntu 18.04 рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рдРрд╕рд╛ рд╣реА рд╣реИред

systemctl list-unit-files | grep enabled | grep systemd-resolved

рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХрд┐рд╕ resolv.conf рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ:

ps auxww | grep kubelet

рдЖрдк рдХреА рддрд░рд╣ рдПрдХ рд▓рд╛рдЗрди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

/usr/bin/kubelet ... --resolv-conf=/run/systemd/resolve/resolv.conf

рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ --resolv-conf рд╣реИ - рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ systemd resolv.conf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдпрджрд┐ рдпрд╣ resolv.conf рдХрд╛ systemd рд╣реИ, рддреЛ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВ:

рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП /run/systemd/resolve/resolv.conf рдХреА рд╕рд╛рдордЧреНрд░реА рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдРрд╕рд╛ рдХреЛрдИ рд░рд┐рдХреЙрд░реНрдб рд╣реИ:

nameserver 127.0.0.1

рдпрджрд┐ 127.0.0.1 рд╣реИ, рддреЛ рдпрд╣ рд▓реВрдк рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

/etc/systemd/network рдХреЗ рддрд╣рдд рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рд░рд┐рдХреЙрд░реНрдб рдорд┐рд▓рддрд╛ рд╣реИ

DNS=127.0.0.1

рдЙрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛ рджреЗрдВред /etc/systemd/resolved.conf рднреА рдЪреЗрдХ рдХрд░реЗрдВ рдФрд░ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдРрд╕рд╛ рд╣реА рдХрд░реЗрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдпрд╛ рджреЛ DNS рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬреИрд╕реЗ

DNS=1.1.1.1 1.0.0.1

рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдкрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдордб рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
systemctl рдкреБрдирд░рд╛рд░рдВрдн systemd-networkd systemd-resolved

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ DNS=127.0.0.1 рдЕрдм resolv.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИ:

cat /run/systemd/resolve/resolv.conf

рдЕрдВрдд рдореЗрдВ, DNS рдкреЙрдбреНрд╕ рдХреЗ рдкреБрди: рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдВ

kubectl -n kube-system delete pod -l k8s-app=kube-dns

рд╕рд╛рд░рд╛рдВрд╢: рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╣реЛрд╕реНрдЯ DNS рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ DNS рд▓реБрдХрдЕрдк рд▓реВрдк рдХреА рддрд░рд╣ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬрд╝реЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╡рд┐рднрд┐рдиреНрди resolv.conf рдкреНрд░рдмрдВрдзрдХреЛрдВ/рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдЪрд░рдг рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ CoreDNS рд▓реВрдк рдкреНрд▓рдЧрдЗрди рд░реАрдбрдореА рдореЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ ...

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рд╣реИ
1уАБрдорддрд▓рдм рдореБрдЭреЗ рдбреАрдПрдирдПрд╕ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рддреНрд░реБрдЯрд┐ рд╣реИ
[рддреНрд░реБрдЯрд┐] рдкреНрд▓рдЧрдЗрди / рддреНрд░реБрдЯрд┐рдпрд╛рдБ: 2 2115717704248378980.120568170924441806ред HINFO: рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рдмреИрдХрдПрдВрдб: udp 10.224.0.3:57088->8.8.8.8:53 рдкрдврд╝реЗрдВ: i/o рдЯрд╛рдЗрдордЖрдЙрдЯ
[рддреНрд░реБрдЯрд┐] рдкреНрд▓рдЧрдЗрди / рддреНрд░реБрдЯрд┐рдпрд╛рдБ: 2 2115717704248378980.120568170924441806ред HINFO: рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рдмреИрдХрдПрдВрдб: udp 10.224.0.3:38819->172.16.254.1:53 рдкрдврд╝реЗрдВ: i/o рдЯрд╛рдЗрдордЖрдЙрдЯ
........

рдореЗрд░рд╛ /etc/resolv.com
рдиреЛрд▓реА рд╣реИрд╡
рдиреЗрдорд╕рд░реНрд╡рд░ 172.16.254.1 #рдпрд╣ рдореЗрд░рд╛ рдбреАрдПрдирдПрд╕ рд╣реИ
рдиреЗрдорд╕рд░реНрд╡рд░ 8.8.8.8 #рдиреЗрдЯ рдореЗрдВ рдПрдХ рдФрд░ рдбреАрдПрдирдПрд╕
рдореИ рднрд╛рдЧрд╛

kubectl -n kube-system рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ coredns -o yaml | \
sed 's/allowPrivilegeEscalation: false/allowPrivilegeEscalation: true/g' | \
Kubectl рд▓рд╛рдЧреВ -f -

рддрдм рдкреЙрдб рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ

[рддреНрд░реБрдЯрд┐] рдкреНрд▓рдЧрдЗрди/рддреНрд░реБрдЯрд┐рдпрд╛рдВ: 2 10594135170717325.8545646296733374240ред HINFO: рдЕрдЧрдореНрдп рдмреИрдХрдПрдВрдб: рдХреЛрдИ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╣реЛрд╕реНрдЯ рдирд╣реАрдВ

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рд╢рд╛рдпрдж

2уАБ the coredns рдХреЛ рдореЗрд░реА рдПрдкреАрдЖрдИ рд╕реЗрд╡рд╛ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рддреНрд░реБрдЯрд┐ рд╣реИ

рдХреНрдпреВрдм-рдбреАрдПрдирдПрд╕ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ *v1.Endpoints getockopt: 10.96.0.1:6443 рдПрдкреАрдЖрдИ рдХрдиреЗрдХреНрд╢рди рдЕрд╕реНрд╡реАрдХреГрдд

coredns рдмрд╛рд░-рдмрд╛рд░ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ, рдЕрдВрдд рдореЗрдВ CrashLoopBackOff рд╣реЛрдЧрд╛

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдХреЛрд░реНрдбрдиреНрд╕ рдЪрд▓рд╛рдирд╛ рд╣реИ, рдореИрдВ рд╡рд╣ рдХрд░рддрд╛ рд╣реВрдБ

kubectl рдкрд░рд┐рдирд┐рдпреЛрдЬрди/coredns рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ --namespace=kube-system
рдХрд▓реНрдкрдирд╛.рдЯреЗрдореНрдкрд▓реЗрдЯ.рдХрд▓реНрдкрдирд╛
рдиреЛрдб рдЪрдпрдирдХрд░реНрддрд╛:
node-role.kubernetes.io/master: ""

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

рдЕрдВрдд рдореЗрдВ рдореЗрд░рд╛ env . рджреЗ

рд▓рд┐рдирдХреНрд╕ 4.20.10-1.el7.elrepo.x86_64 /// рд╕реЗрдВрдЯреЛрд╕ 7

рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг: 18.09.3

[ рд░реВрдЯ@k8smaster00 ~]# рдбреЙрдХрд░ рдЫрд╡рд┐ ls -a
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдЯреИрдЧ рдЫрд╡рд┐ рдЖрдИрдбреА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдЖрдХрд╛рд░
k8s.gcr.io/kube-controller-manager v1.13.3 0482f6400933 6 рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ 146MB
k8s.gcr.io/kube-proxy v1.13.3 98db19758ad4 6 рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ 80.3MB
k8s.gcr.io/kube-apiserver v1.13.3 fe242e556a99 6 рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ 181MB
k8s.gcr.io/kube-scheduler v1.13.3 3a6f709e97a0 6 рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ 79.6MB
quay.io/coreos/flannel v0.11.0-amd64 ff281650a721 7 рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ 52.6MB
k8s.gcr.io/coredns 1.2.6 f59dccceff4 4 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ 40MB
k8s.gcr.io/etcd 3.2.24 3cab8e1b9802 6 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ 220MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 15 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ 742kB

рдХреНрдпреВрдмрдиреЗрдЯ 1.13.3 . рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЕрджреНрдпрддрди рдпрд╛ рд╕рдорд╛рдзрд╛рди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВ

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

@mengxifl , рд╡реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рдФрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдХрд╛рдлреА рднрд┐рдиреНрди рд╣реИрдВред

[рддреНрд░реБрдЯрд┐] рдкреНрд▓рдЧрдЗрди / рддреНрд░реБрдЯрд┐рдпрд╛рдБ: 2 2115717704248378980.120568170924441806ред HINFO: рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рдмреИрдХрдПрдВрдб: udp 10.224.0.3:57088->8.8.8.8:53 рдкрдврд╝реЗрдВ: i/o рдЯрд╛рдЗрдордЖрдЙрдЯ
[рддреНрд░реБрдЯрд┐] рдкреНрд▓рдЧрдЗрди / рддреНрд░реБрдЯрд┐рдпрд╛рдБ: 2 2115717704248378980.120568170924441806ред HINFO: рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рдмреИрдХрдПрдВрдб: udp 10.224.0.3:38819->172.16.254.1:53 рдкрдврд╝реЗрдВ: i/o рдЯрд╛рдЗрдордЖрдЙрдЯ

рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ CoreDNS рдкреЙрдб (рдФрд░ рд╢рд╛рдпрдж рдЕрдиреНрдп рд╕рднреА рдкреЙрдб) рдЖрдкрдХреЗ рдиреЗрдорд╕рд░реНрд╡рд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗред рдпрд╣ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рдлрд▓рд╛рд▓реИрди рдЧрд▓рдд рд╡рд┐рдиреНрдпрд╛рд╕ рдпрд╛ рдлрд╛рдпрд░рд╡реЙрд▓ред

рдХреЛрд░реНрдбрдиреНрд╕ рдХреЛ рдореЗрд░реА рдПрдкреАрдЖрдИ рд╕реЗрд╡рд╛ рдирд╣реАрдВ рдорд┐рд▓реА ...
рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдХреЛрд░реНрдбрдиреНрд╕ рдЪрд▓рд╛рдирд╛ рд╣реИ

рдпрд╣ рднреА рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЖрдкрдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ CoreDNS рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рд╕реЗ рдПрдкреАрдЖрдИ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдиреЛрдбреНрд╕ рд╕реЗ рдирд╣реАрдВред рдпрд╣ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕реЗрд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрдб рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдЧрд╛ - рд╢рд╛рдпрдж рдлрд▓рд╛рд▓реИрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпрд╛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ред

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

@mengxifl , рд╡реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рдФрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдХрд╛рдлреА рднрд┐рдиреНрди рд╣реИрдВред

[рддреНрд░реБрдЯрд┐] рдкреНрд▓рдЧрдЗрди / рддреНрд░реБрдЯрд┐рдпрд╛рдБ: 2 2115717704248378980.120568170924441806ред HINFO: рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рдмреИрдХрдПрдВрдб: udp 10.224.0.3:57088->8.8.8.8:53 рдкрдврд╝реЗрдВ: i/o рдЯрд╛рдЗрдордЖрдЙрдЯ
[рддреНрд░реБрдЯрд┐] рдкреНрд▓рдЧрдЗрди / рддреНрд░реБрдЯрд┐рдпрд╛рдБ: 2 2115717704248378980.120568170924441806ред HINFO: рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рдмреИрдХрдПрдВрдб: udp 10.224.0.3:38819->172.16.254.1:53 рдкрдврд╝реЗрдВ: i/o рдЯрд╛рдЗрдордЖрдЙрдЯ

рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ CoreDNS рдкреЙрдб (рдФрд░ рд╢рд╛рдпрдж рдЕрдиреНрдп рд╕рднреА рдкреЙрдб) рдЖрдкрдХреЗ рдиреЗрдорд╕рд░реНрд╡рд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗред рдпрд╣ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рдлрд▓рд╛рд▓реИрди рдЧрд▓рдд рд╡рд┐рдиреНрдпрд╛рд╕ рдпрд╛ рдлрд╛рдпрд░рд╡реЙрд▓ред

рдХреЛрд░реНрдбрдиреНрд╕ рдХреЛ рдореЗрд░реА рдПрдкреАрдЖрдИ рд╕реЗрд╡рд╛ рдирд╣реАрдВ рдорд┐рд▓реА ...
рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдХреЛрд░реНрдбрдиреНрд╕ рдЪрд▓рд╛рдирд╛ рд╣реИ

рдпрд╣ рднреА рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЖрдкрдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ CoreDNS рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рд╕реЗ рдПрдкреАрдЖрдИ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдиреЛрдбреНрд╕ рд╕реЗ рдирд╣реАрдВред рдпрд╣ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕реЗрд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрдб рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдЧрд╛ - рд╢рд╛рдпрдж рдлрд▓рд╛рд▓реИрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпрд╛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ред

рдЖрдкрдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рд╢рд╛рдпрдж рдореБрдЭреЗ рдЕрдкрдиреА yaml рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓рдиреА рдЪрд╛рд╣рд┐рдП

рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ
рдХреБрдмреЗрджрдо init --config=config.yaml

рдореЗрд░реА config.yaml рд╕рд╛рдордЧреНрд░реА рд╣реИ

apiVersion: kubeadm.k8s.io/v1alpha3
kind: InitConfiguration
apiEndpoint:
  advertiseAddress: "172.16.254.74"
  bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1alpha3
kind: ClusterConfiguration
kubernetesVersion: "v1.13.3"
etcd:
  external:
    endpoints:
    - "https://172.16.254.86:2379" 
    - "https://172.16.254.87:2379"
    - "https://172.16.254.88:2379"
    caFile: /etc/kubernetes/pki/etcd/ca.pem
    certFile: /etc/kubernetes/pki/etcd/client.pem
    keyFile: /etc/kubernetes/pki/etcd/client-key.pem
networking:
  podSubnet: "10.224.0.0/16"
  serviceSubnet: "10.96.0.0/12"
apiServerCertSANs:
- k8smaster00
- k8smaster01
- k8snode00
- k8snode01
- 172.16.254.74
- 172.16.254.79
- 172.16.254.80
- 172.16.254.81
- 172.16.254.85 #Vip
- 127.0.0.1
clusterName: "cluster"
controlPlaneEndpoint: "172.16.254.85:6443"

apiServerExtraArgs:
  service-node-port-range: 20-65535

рдореЗрд░рд╛ рдлрд╝рдирд▓ yaml рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ

https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

systemctl status firewalld
рд╕рднреА рдиреЛрдб рдХрд╣рддреЗ рд╣реИрдВ
рдЗрдХрд╛рдИ Firewalld.service рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛ред

cat /etc/sysconfig/iptables
рд╕рднреА рдиреЛрдб рдХрд╣рддреЗ рд╣реИрдВ
*рдлрд╝рд┐рд▓реНрдЯрд░
: рдЗрдирдкреБрдЯ рд╕реНрд╡реАрдХрд╛рд░ [0:0]
: рдЖрдЧреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ [0:0]
: рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡реАрдХрд╛рд░ [0:0]
-рдПрдХ рдЗрдирдкреБрдЯ -рдкреА рдЯреАрд╕реАрдкреА -рдПрдо рдЯреАрд╕реАрдкреА --dport 1:65535 -j рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
-рдПрдХ рдЗрдирдкреБрдЯ-рдПрдо рд░рд╛рдЬреНрдп - рд╕рдВрдмрдВрдзрд┐рдд рд░рд╛рдЬреНрдп, рд╕реНрдерд╛рдкрд┐рдд -рдЬреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
-рдПрдХ рдЗрдирдкреБрдЯ-рдкреА рдЖрдИрд╕реАрдПрдордкреА-рдЬреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
-рдПрдХ рдЗрдирдкреБрдЯ-рдЖрдИ рд▓реЛ-рдЬреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
-рдП рдЗрдирдкреБрдЯ-рдкреА рдЯреАрд╕реАрдкреА-рдПрдо рд╕реНрдЯреЗрдЯ-рд╕реНрдЯреЗрдЯ рдиреНрдпреВ-рдПрдо рдЯреАрд╕реАрдкреА--рдбреАрдкреЛрд░реНрдЯ 22-рдЬреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
-рдП рдЖрдЙрдЯрдкреБрдЯ-рдкреА рдЯреАрд╕реАрдкреА-рдПрдо рдЯреАрд╕реАрдкреА --рд╕реНрдкреЛрд░реНрдЯ 1: 65535 -рдЬреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
-рдП рдлреЙрд░рд╡рд░реНрдб-рдкреА рдЯреАрд╕реАрдкреА-рдПрдо рдЯреАрд╕реАрдкреА -рдкреЛрд░реНрдЯ 1: 65535 -рдЬреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
-рдП рдлреЙрд░рд╡рд░реНрдб-рдкреА рдЯреАрд╕реАрдкреА-рдПрдо рдЯреАрд╕реАрдкреА --рд╕реНрдкреЛрд░реНрдЯ 1: 65535 -рдЬреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ
COMMI

cat /etc/resolv.conf & ping bing.com
рд╕рднреА рдиреЛрдб рдХрд╣рддреЗ рд╣реИрдВ
[1] 6330
рдиреЗрдорд╕рд░реНрд╡рд░ 172.16.254.1
рдиреЗрдорд╕рд░реНрд╡рд░ 8.8.8.8
рдкрд┐рдВрдЧ bing.com (13.107.21.200) 56 (84) рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рдЗрдЯреНрд╕ред
13.107.21.200 (13.107.21.200) рд╕реЗ 64 рдмрд╛рдЗрдЯреНрд╕: icmp_seq=2 ttl=111 рд╕рдордп=149 ms

uname -rs
рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХрд╣реЛ
рд▓рд┐рдирдХреНрд╕ 4.20.10-1.el7.elrepo.x86_64

uname -rs
рдЧреБрд▓рд╛рдо рдиреЛрдб рдХрд╣реЛ
рд▓рд┐рдирдХреНрд╕ 4.4.176-1.el7.elrepo.x86_64

рддреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдиреЗ mybe fannel рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ? рд▓реЗрдХрд┐рди рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рд╢рд╛рдпрдж рд▓рд┐рдирдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдгред рдореБрдЭреЗрдВ рдирд╣реАрдВ рдкрддрд╛ ред

рдареАрдХ рд╣реИ рдореИрдВ рджреМрдбрд╝рддрд╛ рд╣реВрдБ
/sbin/iptables -t nat -I POSTROUTING -s 10.224.0.0/16 -j MASQUERADE

рдореЗрд░реЗ рд╕рднреА рдиреЛрдб рдкрд░ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж

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

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

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

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

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

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

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