Kubeadm: CoreDNS não está iniciando no Ubuntu 18.04.Bionic Beaver

Criado em 9 jul. 2018  ·  18Comentários  ·  Fonte: kubernetes/kubeadm

Quais palavras-chave você pesquisou nos problemas do kubeadm antes de preencher este?

dns, resolv.conf, coredns

RELATÓRIO DE ERRO

Versões

versão kubeadm (use 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"}

Meio Ambiente :

  • Versão do Kubernetes (use 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"}
  • Provedor de nuvem ou configuração de hardware :
    baremetal (Intel Xeon, 2x2TB HDD, 32 GB de RAM)
  • SO (por exemplo, de / etc / os-release):
    Ubuntu 18.04 LTS (Bionic Beaver)
  • Kernel (por exemplo, uname -a ):
    4.15.0-24-genérico

O que aconteceu?

Após a instalação do kubernetes via kubeadm, os pods coredns não serão exibidos. kubectl get pods --all-namespaces imprime isto:

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

O que você esperava que acontecesse?

coredns muda para o status 'Executando' e o kubernetes está rodando sem problemas

Como reproduzi-lo (o mais mínimo e precisamente possível)?

Este é o script que usei para a instalação:

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

Mais alguma coisa que precisamos saber?

Acho que sim, mas não sei o quê ... Se precisar de algum tipo de log, é só me dizer.

kinbug prioritawaiting-more-evidence prioritimportant-soon

Comentários muito úteis

uma pena que não há registros do agendador.

O conteúdo de /var/lib/kubelet/kubeadm-flags.env é

o sinalizador --resolv-conf parece ter sido adicionado, então está tudo OK.

Agora será um único kube de nó.

chame kubeadm reset e então kubeadm init ... novamente.
em seguida, copie a configuração para o diretório do usuário e tente instalar um plug-in de rede pod (weave):

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

e veja se os pods de dns estão prontos. isso pode não fazer sentido, mas tente.

Todos 18 comentários

@ sergej2705
a saída de:
kubectl describe pod <coredns-pod-ids>

e erros relevantes de:

'systemctl status kubelet'
'journalctl -xeu kubelet'

ajudaria mais.
obrigado.

De 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.

e de 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.

Não vejo nenhum erro em systemctl status kubelet , aqui está a saída completa:

● 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

em journalctl -xeu kubelet vejo as seguintes linhas várias vezes:

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

fyi, o /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

onde Hetzner é o nome do operador do data center.

@ sergej2705
o agendador falha, mas não está claro para mim por quê.

você pode encontrar o ID do pod kube-scheduler com
kubectl get pods --all-namespace

então você pode tentar isso para iniciar um terminal nesse pod:
kubectl exec -ti <POD-ID-HERE> bash -n kube-system

e a partir daí você pode tentar olhar o log:
cat /var/log

sem garantias de que tem algo relevante.

algumas outras coisas:

  • você está instalando uma rede pod depois de init (perguntando apenas no caso)?
  • depois de init que conteúdo você obtém em /var/lib/kubelet/kubeadm-flags.env ?

kubectl exec -ti kube-scheduler-beetlejuice bash -n kube-system diz

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

então eu tentei kubectl exec -ti kube-scheduler-beetlejuice sh -n kube-system so sh vez de bash ... mas não há nenhum arquivo /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

Agora será um único kube de nó.

O conteúdo de /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

uma pena que não há registros do agendador.

O conteúdo de /var/lib/kubelet/kubeadm-flags.env é

o sinalizador --resolv-conf parece ter sido adicionado, então está tudo OK.

Agora será um único kube de nó.

chame kubeadm reset e então kubeadm init ... novamente.
em seguida, copie a configuração para o diretório do usuário e tente instalar um plug-in de rede pod (weave):

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

e veja se os pods de dns estão prontos. isso pode não fazer sentido, mas tente.

após a nova inicialização, os pods têm a seguinte aparência (de novo):

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

depois de instalar o plug-in do weave, fica assim:

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

agora funciona 👍

Instalei kubernetes-dashboard agora sem problemas, isso não estava funcionando antes. Mas é esta a solução para este problema?

obrigado por testar.

Mas é esta a solução para este problema?

eu diria - sim, por enquanto.

a CLI e a documentação instruem os usuários a instalar um plug-in de rede pod logo após init .
não documentamos exatamente o que acontece se esta etapa foi ignorada, mas é esperado que o cluster não funcione corretamente ...

se alguém achar que este problema não deve ser encerrado, reabra.

Eu tenho o problema exato , embora o plugin de tecer não tenha resolvido. Ainda vejo pods coredns no status ContainerCreating . Já faz quase uma hora agora, então ...

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
  • a bandeira --resolv-conf está faltando. Então eu acho que isso é um problema. Como posso configurar o kubeqdm para adicioná-lo?
  • o --cni-bin-dir=/opt/cni/bin está errado. No meu sistema não tenho isso.
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

Acho que devo colocar lá /usr/sbin , certo?

Além disso, os registros do agendador são:

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

Eu tenho o problema exato

não acho que seja o mesmo problema.

KubeDNS está sendo executado em

CoreDNS é o servidor dns padrão em 1.11.x. você habilitou isso intencionalmente?

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

/var/lib/kubelet/kubeadm-flags.env é gerado automaticamente no tempo de execução do kubeadm e não deve ser editado.
você pode adicionar sinalizadores em /etc/default/kubelet

veja a informação aqui:
https://github.com/kubernetes/kubernetes/blob/master/build/debs/10-kubeadm.conf

o sinalizador --resolv-conf está faltando.

ele só seria adicionado se sua distro usar isto:
https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html

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

esses são os valores padrão, mas AFAIK isso não deve ser adicionado automaticamente no tempo de execução.

difícil dizer qual é o problema no seu caso.
é melhor abrir um novo problema e seguir o modelo de relatório de problema.

Afinal, encontrei meu problema. Estava faltando o loopback binário do CNI em /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

Encontrei o mesmo problema e resolvi instalando flanela. Depois de instalar a flanela, coredns e outros pods podem ser criados corretamente.

Por que instalar flanela pode resolver o problema?

Também inicio meu cluster K8s usando kubeadm e adiciono --pod-network-cidr arg. Então eu acho que se flanela ou outros complementos de rede de pod não estiverem instalados, o kubelet não saberá como atribuir ip ao pod e lançar o erro.

Você disse que vê a seguinte mensagem usando 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

Também vi logs semelhantes na minha máquina e acho que essa é a causa do problema.

Por que instalar flanela pode resolver o problema?

um plugin CNI deve ser instalado:
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.

um plugin CNI deve ser instalado:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm

Meus coredns não podem iniciar porque um complemento de rede pod não foi instalado depois de iniciar o kubernetes e agora eu sei, obrigado.

uma pena que não há registros do agendador.

O conteúdo de /var/lib/kubelet/kubeadm-flags.env é

o sinalizador --resolv-conf parece ter sido adicionado, então está tudo OK.

Agora será um único kube de nó.

chame kubeadm reset e então kubeadm init ... novamente.
em seguida, copie a configuração para o diretório do usuário e tente instalar um plug-in de rede pod (weave):

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

e veja se os pods de dns estão prontos. isso pode não fazer sentido, mas tente.

funciona para mim! Muito obrigado

uma pena que não há registros do agendador.

O conteúdo de /var/lib/kubelet/kubeadm-flags.env é

o sinalizador --resolv-conf parece ter sido adicionado, então está tudo OK.

Agora será um único kube de nó.

chame kubeadm reset e então kubeadm init ... novamente.
em seguida, copie a configuração para o diretório do usuário e tente instalar um plug-in de rede pod (weave):

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

e veja se os pods de dns estão prontos. isso pode não fazer sentido, mas tente.

serviceaccount / weave-net configurado
clusterrole.rbac.authorization.k8s.io/weave-net configurado
clusterrolebinding.rbac.authorization.k8s.io/weave-net configurado
role.rbac.authorization.k8s.io/weave-net configurado
rolebinding.rbac.authorization.k8s.io/weave-net configurado
incapaz de reconhecer nenhuma correspondência para o tipo "DaemonSet" na versão "extensions / v1beta1"

Incapaz de configurar

incapaz de reconhecer nenhuma correspondência para o tipo "DaemonSet" na versão "extensions / v1beta1"

isso é um bug no lado do plugin CNI.
experimente o plugin Callico CNI.

Esta página foi útil?
0 / 5 - 0 avaliações