Wie kann ich feststellen, ob ich in einem kubernetes-Cluster laufe oder nicht? Mit dem Andockfenster kann ich prüfen, ob /.dockerinit
existiert. Gibt es ein Äquivalent?Wie kann ich feststellen, ob mein Container in einem Kubernetes-Cluster ausgeführt wird?
2
A
Antwort
2
Sie können Umgebungsvariablen an Ihre Container in der Pod-Spezifikation übergeben. Sie können sogar einige Pod-Informationen den Containern über Umgebungsvariablen unter Verwendung der downward API zur Verfügung stellen.
0
Mit der Standardkonfiguration wird Kubernetes die Serviceaccount-Geheimnisse in Pods einbinden. Überprüfen Sie einfach das Vorhandensein dieses Ordners: /var/run/secrets/kubernetes.io
. Keine Notwendigkeit, Umgebungsvariablen zu setzen. In Ruby würde ich folgendes tun:
if File.exists?('/.dockerenv')
puts "I'm running in a docker container"
end
if File.exists?('/var/run/secrets/kubernetes.io')
puts "I'm also running in a Kubernetes pod"
end
Ich denke, Sie können die kubectl Kommandozeilen-Tool von kubernetes verwenden. [Setup it] (https://cloud.google.com/container-engine/docs/before-you-begin) starte kubectl get pods. Sie erhalten eine Liste von Pods (Containern). http://kubernetes.io/docs/user-guide/kubectl-cheatsheet/ –
Ich möchte meine Golang App Programmatisch herausfinden. – CESCO
Sie können kubernetes [Client-Bibliothek] (https://github.com/kubernetes/kubernetes/tree/release-1.2/pkg/client/) verwenden, um auf die kubernetes apis innerhalb Ihres Codes zuzugreifen. Sorry, ich kenne den genauen API-Namen nicht, aber ich denke, dafür musst du etwas API-Dokument lesen. –