1

Ich habe Kubernetes Cluster auf aws bis mit kopsthis tutorial auf offiziellen Kubernetes Github Zweig verwenden.Kubernetes Cluster x509: Certifcate Ausgabe

Der Cluster setzen erfolgreich auf AWS, aber wenn ich versuche,

kubectl get nodes 

oder

kops validate cluster 

es sagt, mit meiner x509

[[email protected] ~]$ kubectl cluster-info 
Unable to connect to the server: x509: certificate is valid for *.secure.hosting prod.com, not api.subdomain.mydomain.com 

Dies ist definitiv Problem zu laufen Zertifikate. Ich brauche nur einen leichten Druck in die richtige Richtung. Danke für deine wertvolle Zeit und Hilfe!

NOTE: I am running these commands from outside the cluster from a machine from where I did set up of cluster.

+0

Welches Betriebssystem verwenden Sie? Es besteht eine Installationsabhängigkeit bezüglich Zertifikaten auf mindestens CENTOS. –

+0

Es ist amazon ami –

Antwort

1

konnte keine Verbindung zum Server verbinden: x509: Zertifikat für * gültig ist .secure.hosting prod.com, nicht api.subdomain.mydomain.com

ich kann‘ t sagen, wenn diese Namen Beispiele sind, oder die tatsächlichen Werte, die kubectl gibt Ihnen, aber ich werde sie verwenden, wie Sie nur geschrieben haben, um die Dinge einfach zu halten

Wenn der kubernetes Cluster Sie installiert ist wirklich zugänglich über api.secure.hostingprod.com, dann aktualisieren Sie Ihre $HOME/.kube/config zu sagen https://api.secure.hostingprod.com, wo es derzeit heißt https://api.subdomain.mydomain.com sollte die Dinge wieder in Ordnung bringen.

Alternativ, wenn api.secure.hosting prod.com keine tatsächliche Domäne ist, die Sie verwenden können (zum Beispiel, wenn Ihr Zertifikat wirklich ein Leerzeichen im Hostnamen hat), dann haben Sie ein paar Optionen.

Die billigste, aber am wenigsten richtig, nur kubectl sagen könnte es sein, „Ich weiß, was ich tue, nicht überprüft die cert“ durch die insecure-skip-tls-verify Option unter dem cluster Eintrag in der $HOME/.kube/config Bildeinstellung:

- cluster: 
    insecure-skip-tls-verify: true 

Am ärgerlichsten, aber auch am korrektesten wäre es, das Zertifikat für den API-Server mit dem tatsächlichen Hostnamen (scheinbar api.subdomain.mydomain.com) erneut auszugeben. Wenn Sie wissen wie, ist extra-super-best auch das Hinzufügen von "Subject Alternate Names" (abgekürzt als "SAN") zum Zertifikat, so dass sich Mitglieder innerhalb des Clusters darauf beziehen können wie https://kubernetes und/oder https://kubernetes.default.svc.cluster.localService IP-Adresse, die dem kubernetesService im Namespace default zugewiesen ist. Es ist sehr wahrscheinlich, dass Ihr aktuelles Zertifikat diese Werte hat, die Ihnen zeigen, was sie gerade sind. Wenn Sie Hilfe mit den Openssl-Bits benötigen, verwendet CoreOS Kubernetes a shell script, die möglicherweise wie geschrieben funktionieren oder wenn nichts anderes sehr konkrete Anleitung bieten.

Ich erkenne das ist eine Menge Worte, und auch eine Menge Arbeit, aber Zertifikate sind super wichtig, so dass sie so korrekt wie möglich zu bekommen wird wirklich jeden Herzschmerz auf der ganzen Linie speichern.

Verwandte Themen