Kubeadm: certificat signé par une autorité inconnue --Corporate Network - Proxy

Créé le 22 juin 2018  ·  4Commentaires  ·  Source: kubernetes/kubeadm

Est-ce une demande d'aide ?

OUI

Quels mots-clés avez-vous recherchés dans les problèmes de kubeadm avant de déposer celui-ci ?

x509 : certificat signé par une autorité inconnue -- INSIDE CORPORATE NETWORK

Si vous avez trouvé des doublons, vous devez plutôt y répondre et fermer cette page.

Si vous n'avez trouvé aucun doublon, supprimez cette section et continuez.

S'agit-il d'un rapport de bogue ou d'une demande de fonctionnalité ?

Choisissez-en un : RAPPORT DE BUG ou DEMANDE DE FONCTIONNALITÉ

rapport d'erreur

Versions

version de kubeadm (utilisez kubeadm version ): --1.10.4
kubeadm version : &version.Info{Major : "1", Minor : "10", GitVersion : "v1.10.4", GitCommit : "5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState : "clean", BuildDate : "2018-06-06T08:00 : 59Z", GoVersion:"go1.9.3", Compilateur:"gc", Plate-forme:"linux/amd64"}

Environnement :

  • Version Kubernetes (utilisez kubectl version ):
  • Fournisseur cloud ou configuration matérielle :
  • OS (par exemple depuis /etc/os-release) :
    NOM="CentOS Linux"
    VERSION="7 (Core)"
    ID="centos"
    ID_LIKE="rhel fedora"
    VERSION_ID="7"
    PRETTY_NAME="CentOS Linux 7 (Core)"
    ANSI_COLOR="0;31"
    CPE_NAME="cpe:/o: centos:centos :7"
    HOME_URL=" https://www.centos.org/ "
    BUG_REPORT_URL=" https://bugs.centos.org/ "

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

  • Noyau (par exemple uname -a ):
    Linux kubem13.10.0-123.el7.x86_64 #1 SMP Lun 30 juin 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
  • Autres :

Que s'est-il passé?

Erreur de lancer x509 : certificat signé par une autorité inconnue

A quoi vous attendiez-vous ?

Besoin d'exécuter kubeadm init sans aucune erreur

Comment le reproduire (le plus minimalement et le plus précisément possible) ?

Autre chose que nous devons savoir ?

J'ai configuré le proxy dans plusieurs fichiers.

.bash_profile
/etc/environnement
/etc/systemd/system/docker.service.d/http-proxy.conf

/etc/systemd/system/docker.service.d/http-proxy.conf

[Un service]
Environnement="HTTP_PROXY=http://:@:8080"
Environnement="HTTPS_PROXY=https://:@:8080"
Environnement="NO_PROXY=localhost,127.0.0.1,10.169.150.123"

/etc/environnement

exporter http_proxy="http://:@:8080"
exporter https_proxy="https://:@:8080"
exporter HTTP_PROXY="http://:@:8080"
exporter HTTPS_PROXY="https://:@:8080"
export no_proxy="10.169.150.123,127.0.0.1,localhost"

Dans le profil Bash

exporter KUBECONFIG=/etc/kubernetes/admin.conf
exporter http_proxy="http://:@:8080"
exporter https_proxy="https://:@:8080"
exporter HTTP_PROXY="http://:@:8080"
exporter HTTPS_PROXY="https://:@:8080"
export no_proxy="10.169.150.123,127.0.0.1,localhost"

J'ai ouvert les ports nécessaires

cat /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 6443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2379-2380 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10250 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10251 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10252 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10255 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

et rechargé le pare-feu.

Également vérifié avec la désactivation du pare-feu.

SELINUX désactivé

########Commenté KUBELET_NETWORK_ARGS

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

[Un service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"

Environnement="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"

Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environnement="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environnement="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"
Environnement="KUBELET_EXTRA_ARGS=--fail-swap-on=false"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS_ARGS $KUBELET

Si je lance en passant la version,

[ root@kubem1 ~]# kubeadm init --kubernetes-version=v1.10.4
[init] Utilisation de la version Kubernetes : v1.10.4
[init] Utilisation des modes d'autorisation : [Node RBAC]
[preflight] Exécuter des vérifications avant le vol.
[ATTENTION HTTPProxyCIDR] : la connexion à "10.96.0.0/12" utilise le proxy "https:// * * * * ". Cela peut entraîner un dysfonctionnement de la configuration du cluster. Assurez-vous que les plages d'adresses IP des pods et des services sont correctement spécifiées en tant qu'exceptions dans la configuration du proxy
[certificats] Certificat ca et clé générés.
[certificats] Certificat et clé apiserver générés.
[certificats] le certificat de service apiserver est signé pour les noms DNS [kubem1kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] et IP [10.96.0.1 10.169.150.123]
[certificats] Certificat et clé apiserver-kubelet-client générés.
[certificats] Clé sa et clé publique générées.
[certificats] Certificat et clé front-proxy-ca générés.
[certificats] Certificat et clé du client-proxy frontal générés.
[certificats] Certificat et clé etcd/ca générés.
[certificats] Certificat et clé etcd/serveur générés.
[certificats] etcd/server servant cert est signé pour les noms DNS [localhost] et les IP [127.0.0.1]
[certificats] Certificat et clé etcd/peer générés.
[certificats] etcd/peer servant cert est signé pour les noms DNS [kubem1. * * ** ] et IP [10.169.150.123]
[certificats] Certificat et clé etcd/healthcheck-client générés.
[certificats] Certificat et clé apiserver-etcd-client générés.
[certificats] Des certificats et des clés valides existent maintenant dans "/etc/kubernetes/pki"
[kubeconfig] A écrit le fichier KubeConfig sur le disque : "/etc/kubernetes/admin.conf"
[kubeconfig] A écrit le fichier KubeConfig sur le disque : "/etc/kubernetes/kubelet.conf"
[kubeconfig] A écrit le fichier KubeConfig sur le disque : "/etc/kubernetes/controller-manager.conf"
[kubeconfig] A écrit le fichier KubeConfig sur le disque : "/etc/kubernetes/scheduler.conf"
[plan de contrôle] A écrit le manifeste de pod statique pour le composant kube-apiserver dans "/etc/kubernetes/manifests/kube-apiserver.yaml"
[plan de contrôle] A écrit le manifeste de pod statique pour le composant kube-controller-manager dans "/etc/kubernetes/manifests/kube-controller-manager.yaml"
[plan de contrôle] A écrit le manifeste de pod statique pour le composant kube-scheduler dans "/etc/kubernetes/manifests/kube-scheduler.yaml"
[etcd] A écrit le manifeste de pod statique pour une instance etcd locale dans "/etc/kubernetes/manifests/etcd.yaml"
[init] En attente que le kubelet démarre le plan de contrôle en tant que pods statiques à partir du répertoire "/etc/kubernetes/manifests".
[init] Cela peut prendre une minute ou plus si les images du plan de contrôle doivent être extraites.

############Dans le journal des erreurs

22 juin 04:31:34 kubem1. * * * * kubelet[7275]: E0622 04:31:34.942572 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Échec de la liste *v1.Pod: Get https ://10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée
22 juin 04:31:35 kubem1. * * * * kubelet[7275]: E0622 04:31:35.888104 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Échec de la liste *v1.Node: Get https:/ /10.169.150.123 :6443/api/v1/nodes?fieldSelector=metadata.name%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée
22 juin 04:31:35 kubem1. * * * * kubelet[7275] : E0622 04:31:35.888256 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452 : Échec de la liste *v1.Service : Obtenez https :/ /10.169.150.123 :6443/api/v1/services?limit=500&resourceVersion=0 : composez le TCP 10.169.150.123 :6443 : getsockopt : connexion refusée
22 juin 04:31:35 kubem1. * * * * kubelet[7275] : E0622 04:31:35.943992 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47 : Échec de la liste v1.Pod : Obtenez https : //10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée
22 juin 04:31:36 kubem1. * * * * kubelet[7275]: E0622 04:31:36.889648 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Échec de la liste *v1.Node: Get https:/ /10.169.150.123 :6443/api/v1/nodes?fieldSelector=metadata.name%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée
22 juin 04:31:36 kubem1. * * * * kubelet[7275]: E0622 04:31:36.891490 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Échec de la liste *v1.Service: Get https:/ /10.169.150.123 :6443/api/v1/services?limit=500&resourceVersion=0 : composez le TCP 10.169.150.123 :6443 : getsockopt : connexion refusée
22 juin 04:31:36 kubem1. * * * * kubelet[7275] : E0622 04:31:36.945185 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47 : Échec de la liste v1.Pod : Obtenez https : //10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée
22 juin 04:31:37 kubem1. * * * * kubelet[7275]: E0622 04:31:37.890407 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Échec de la liste *v1.Node: Get https:/ /10.169.150.123 :6443/api/v1/nodes?fieldSelector=metadata.name%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée
22 juin 04:31:37 kubem1. * * * * kubelet[7275]: E0622 04:31:37.891696 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Échec de la liste *v1.Service: Get https:/ /10.169.150.123 :6443/api/v1/services?limit=500&resourceVersion=0 : composez le TCP 10.169.150.123 :6443 : getsockopt : connexion refusée
22 juin 04:31:37 kubem1. * * * * kubelet[7275] : E0622 04:31:37.946023 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47 : Échec de la liste v1.Pod : Obtenez https : //10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée
22 juin 04:31:38 kubem1. * * * * kubelet[7275]: E0622 04:31:38.121910 7275 eviction_manager.go:247] gestionnaire d'expulsions : échec de l'obtention des statistiques récapitulatives : échec de l'obtention des informations sur le nœud : nœud "kubem1. * * * * " introuvable
22 juin 04:31:38 kubem1. * * * * kubelet[7275]: E0622 04:31:38.892292 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Échec de la liste *v1.Node: Get https:/ /10.169.150.123 :6443/api/v1/nodes?fieldSelector=metadata.name%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée
22 juin 04:31:38 kubem1. * * * * kubelet[7275]: E0622 04:31:38.894157 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Échec de la liste *v1.Service: Get https:/ /10.169.150.123 :6443/api/v1/services?limit=500&resourceVersion=0 : composez le TCP 10.169.150.123 :6443 : getsockopt : connexion refusée
22 juin 04:31:38 kubem1. * * * * kubelet[7275] : E0622 04:31:38.947002 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47 : Échec de la liste v1.Pod : Obtenez https : //10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0 : composez tcp 10.169.150.123:6443 : getsockopt : connexion refusée

également ajouté /etc/resolve.conf

[ root@kubem1 ~]# cat /etc/resolv.conf

Généré par NetworkManager

domaine <>

rechercher <>

serveur de noms <>

serveur de noms <>

serveur de noms 8.8.8.8
serveur de noms 8.8.4.4

Dois-je ajouter une entrée dans ce fichier ??

Dois-je importer un certificat ??

JE SUIS DANS UN ENVIRONNEMENT DE PROXY

J'ai également essayé ce qui suit,

kubeadm réinitialiser
systemctl démon-recharger
systemctl redémarrer docker.service
systemctl stop kubelet.service

Les images ci-dessous n'ont pas pu passer à travers le docker.

docker pull k8s.gcr.io/kube-apiserver-amd64:v1.10.3
docker pull k8s.gcr.io/kube-controller-manager-amd64:v1.10.3
docker pull k8s.gcr.io/kube-scheduler-amd64:v1.10.3
docker pull k8s.gcr.io/etcd-amd64:3.1.12

kinbug prioritimportant-longterm

Commentaire le plus utile

Ici, je peux voir spec.nodeName=kubem1.***************** , qui semble être un FQDN édité. D'un autre côté, dans votre configuration DNS, vous ne semblez pas avoir de directives de domaine et de recherche .

Les serveurs DNS de Google sont-ils même autorisés dans votre réseau ? Vous devrez peut-être contacter votre administrateur de réseau local pour plus d'informations à ce sujet.

De plus, si docker pull échoue pour vous, cela peut être dû à des problèmes DNS. Quelle est l'erreur avec laquelle docker pull échoue ?

k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list v1.Pod: Get https://10.169.150.123:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1.*****************&limit=500&resourceVersion=0: dial tcp 10.169.150.123:6443: getsockopt: connection refused

Tous les 4 commentaires

Ici, je peux voir spec.nodeName=kubem1.***************** , qui semble être un FQDN édité. D'un autre côté, dans votre configuration DNS, vous ne semblez pas avoir de directives de domaine et de recherche .

Les serveurs DNS de Google sont-ils même autorisés dans votre réseau ? Vous devrez peut-être contacter votre administrateur de réseau local pour plus d'informations à ce sujet.

De plus, si docker pull échoue pour vous, cela peut être dû à des problèmes DNS. Quelle est l'erreur avec laquelle docker pull échoue ?

k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list v1.Pod: Get https://10.169.150.123:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1.*****************&limit=500&resourceVersion=0: dial tcp 10.169.150.123:6443: getsockopt: connection refused

J'ai modifié ceci pour le publier dans le github 'spec.nodeName=kubem1. * * * * * '

Google DNS n'est pas autorisé dans notre réseau.

Docker pull fonctionne pour le reste des images, mais tirer "docker pull k8s.gcr.io/kube-apiserver-amd64:v1.10.3" ne fonctionne pas.

S'il vous plaît laissez-moi savoir si je dois faire des modifications dans le fichier de configuration.

/assigner @liztio

Fermeture de ce problème en raison du manque d'instructions solides pour le reproducteur.
Veuillez rouvrir s'il y a toujours un problème.

Cette page vous a été utile?
0 / 5 - 0 notes