Konfigurieren kubectl Befehl für den Zugriff auf remote-kubernetes-cluster auf azure
Ich habe einen kubernetes-cluster läuft auf azure. Was ist der Weg, um den Zugriff auf den cluster von lokalen kubectl Befehl. Ich bezog mich auf hier aber auf dem kubernetes-master-Knoten gibt es keine kube config-Datei. Auch, kubectl config Anzeige der Ergebnisse in
apiVersion: v1
clusters: []
contexts: []
current-context: ""
kind: Config
preferences: {}
users: []
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Weg gefunden, um den Zugriff auf remote-kubernetes-cluster ohne ssh ' Ing zu einem der Knoten im cluster. Sie müssen zum Bearbeiten von ~/.kube/config-Datei wie folgt :
Dann zum festlegen des Kontexts, indem Sie ausführen:
Danach sollten Sie in der Lage sein, um die Interaktion mit dem cluster.
Hinweis : Zum hinzufügen von Zertifizierung und-Taste verwenden Sie folgenden link : http://kubernetes.io/docs/user-guide/kubeconfig-file/
Alternativ können Sie auch versuchen, folgenden Befehl
Können Sie auch definieren, die den Dateipfad der kubeconfig, indem in
--kubeconfig
parameter.Kopieren Sie beispielsweise
~/.kube/config
des remote-Kubernetes Rechner auf den lokalen Projekts~/myproject/.kube/config
. In~/myproject
Sie können dann die Liste der Hülsen von der remote-Kubernetes-server durch ausführenkubectl get pods --kubeconfig ./.kube/config
.Tun, beachten Sie, dass beim kopieren der Werte aus dem remote-Kubernetes-server einfach
kubectl config view
wird nicht ausreichend sein, da es zeigt auch nicht die Geheimnisse der config-Datei. Stattdessen müssen Sie etwas tun, wiecat ~/.kube/config
oder verwenden Siescp
um den vollen Inhalt der Datei.Finden Sie unter: https://kubernetes.io/docs/tasks/administer-cluster/share-configuration/
Wie haben Sie bei der Einrichtung Ihres Clusters? Zum Zugriff auf die cluster-Remote benötigen Sie ein kubeconfig Datei (es sieht aus wie Sie noch keine haben) und die setup-Skripte erzeugen eine lokale kubeconfig-Datei als Teil der cluster-deployment-Prozess (weil sonst der cluster, die Sie gerade bereitgestellt haben, ist nicht verwendbar). Wenn jemand anderes bei der Bereitstellung des Clusters, sollten Sie befolgen Sie die Anweisungen auf der Seite, die Sie verlinkt, um eine Kopie der erforderlichen client-Anmeldeinformationen für die Verbindung zum cluster.
kubectl
Befehle von dem master-Knoten. Können Sie sich in den master und versuchen, das ausführen der Befehle gibt es?Den Azure-setup, nur macht die ssh-ports extern.
Diese kann gefunden werden unter ./Ausgabe/kube_xxxxxxxxxx_ssh_conf
Was ich getan habe, ist der tunnel die ssh auf meine Maschine, indem ein ssh-port-tunnel.
Gehe in die Datei und unter "host *" - Abschnitt fügen Sie eine weitere Zeile wie die unten:
LocalForward 8080 127.0.0.1:8080
welche Karten meinem lokalen Rechner port 8080 (wo kubectl Suche für den Standard-Kontext), um die remote-Maschine, 8080 port, wo der Meister zu hören, um api-Aufrufe.
wenn du open ssh auf den kube-00 als reguläre docs zeigt, können nun Anrufe von Ihrem lokalen kubectl ohne zusätzliche Konfiguration.
Ich versuche zu setup kubectl auf einem anderen client aus, die ich erstellt, die kops-cluster, die ursprünglich von. Nicht sicher, ob dies funktionieren würde, die auf Azure, aber er arbeitete auf einem AWS-backed (kops) cluster:
kops /kubectl - wie Importiere ich Staat geschaffen, auf einem anderen server?
Suchen Sie die .kube Verzeichnis auf Ihrem k8s-Maschine.
Auf linux/Unix ist es unter /root/.ein.kube
Auf windows wird es in den C:/User//.kube
kopieren Sie die config-Datei aus dem .kube-Ordner des k8s-cluster .kube Ordner von Ihrem lokalen Computer
Kopieren
client-Zertifikat: /etc/cfc/conf/kubecfg.crt
client-key: /etc/cfc/conf/kubecfg.Schlüssel
zu .kube-Ordner Ihrer lokalen Maschine.
Bearbeiten Sie die config-Datei in der .kube Ordner von Ihrem lokalen Computer und aktualisieren Sie den Pfad der kubecfg.crt-und kubecfg.- Taste auf Ihrer lokalen Maschine.
/etc/cfc/conf/kubecfg.crt --> C:\Users\.kube\kubecfg.crt
/etc/cfc/conf/kubecfg.Schlüssel --> C:\Users\.kube\kubecfg.key
Jetzt sollten Sie in der Lage sein, um die Interaktion mit dem cluster. Run 'kubectl bekommen pods' und sehen Sie die Hülsen auf die k8s-cluster.
Für Cluster, die erstellt werden, manuell mithilfe von vm ' s von cloud-Providern, bekommen nur die kubeconfig von
~/.kube/config
. Aber für managed services wie GKE müssen Sie verlassen sich auf gcloud, um die kubeconfig generiert, die in der runtime mit der rechten token.In der Regel ein service-Konto kann erstellt werden, mit Hilfe der rechten kubeconfig mit token generiert für Sie. Etwas ähnliches finden Sie auch in Azure.