2
votes

Tableau de bord Kubernetes: Obtenez https://10.96.0.1:443/version: composez le tcp 10.96.0.1:443: délai d'e / s

J'ai un cluster Kubernetes dans vagrant (1.14.0) et j'ai installé calico.

J'ai installé le tableau de bord kubernetes. Lorsque j'utilise kubectl proxy pour visiter le tableau de bord:

kubeadm init --apiserver-advertise-address="192.168.50.10" --apiserver-cert-extra-sans="192.168.50.10" --node-name k8s-master --pod-network-cidr=192.168.0.0/16

Voici mes pods (le tableau de bord redémarre fréquemment):

failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file "/var/lib/kubelet/config.yaml"

logs du pod dasbhoard:

2019/03/30 14:36:21 Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigured (e.g., it has invalid apiserver certificates or service account's configuration) or the --apiserver-host param points to a server that does not exist. Reason: Get https://10.96.0.1:443/version: dial tcp 10.96.0.1:443: i/o timeout
Refer to our FAQ and wiki pages for more information: https://github.com/kubernetes/dashboard/wiki/FAQ

Je peux telnet depuis le maître et les nœuds vers 10.96.0.1:443.

Qu'est-ce qui est mal configuré? Le reste du cluster semble fonctionner correctement, même si je vois ce journal dans kubelet:

$ kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-etcd-cj928                          1/1     Running   0          11m
calico-node-4fnb6                          1/1     Running   0          18m
calico-node-qjv7t                          1/1     Running   0          20m
calico-policy-controller-b9b6749c6-29c44   1/1     Running   1          11m
coredns-fb8b8dccf-jjbhk                    1/1     Running   0          20m
coredns-fb8b8dccf-jrc2l                    1/1     Running   0          20m
etcd-k8s-master                            1/1     Running   0          19m
kube-apiserver-k8s-master                  1/1     Running   0          19m
kube-controller-manager-k8s-master         1/1     Running   0          19m
kube-proxy-8mrrr                           1/1     Running   0          18m
kube-proxy-cdsr9                           1/1     Running   0          20m
kube-scheduler-k8s-master                  1/1     Running   0          19m
kubernetes-dashboard-5f7b999d65-nnztw      1/1     Running   3          2m11s

kubelet semble fonctionner correctement sur le maître. Le cluster a été créé avec cette commande:

Error: 'dial tcp 192.168.1.4:8443: connect: connection refused'
Trying to reach: 'https://192.168.1.4:8443/'


0 commentaires

3 Réponses :


2
votes

vous devez définir votre nom d'hôte dans / etc / hosts

# systemctl stop kubelet
# systemctl stop docker
# iptables --flush
# iptables -tnat --flush
# systemctl start kubelet
# systemctl start docker

si vous définissez votre nom d'hôte dans votre maître mais que cela n'a pas fonctionné, essayez

#hostname
YOUR_HOSTNAME
#nano /etc/hosts
YOUR_IP HOSTNAME

et vous devez installer le tableau de bord avant de rejoindre le nœud worker

et désactiver votre pare-feu

et vous pouvez vérifier votre gratuit bélier.


2 commentaires

l'ajout d'un nom d'hôte a fonctionné, pouvez-vous expliquer pourquoi j'ai dû faire cela?


Dans kubernetes, tout est défini par son nom car lorsqu'un pod est détruit, il obtient une autre adresse IP, nous devons donc définir notre nom d'hôte et les cordns fonctionnent simplement avec le nom d'hôte et non l'IP Et si vous obtenez votre journal cordns avant, vous pourriez voir une erreur dedans



0
votes

Exclude - paramètre node-name de la commande kubeadm init

essayez cette commande

kubeadm init --apiserver-advertise-address=$(hostname -i) --apiserver-cert-extra-sans="192.168.50.10" --pod-network-cidr=192.168.0.0/16


1 commentaires

cela n'a pas aidé: /



0
votes

Pour moi, le problème était que je devais créer une NetworkPolicy qui autorisait le trafic de sortie vers l'API kubernetes


0 commentaires