Как указано в заголовке, можно ли узнать имя кластера K8s из API? Я просмотрел API и не смог его найти.
Как получить имя кластера Kubernetes из API K8s
Ответ 1
К сожалению, кластер не знает его собственного имени или что-то еще, что однозначно идентифицирует его (проблема K8s # 44954). Я хотел знать проблема с рулем # 2055.
Ответ 2
kubectl config current-context
делает kubectl config current-context
дело (он выводит немного больше, например, имя проекта, регион и т.д., но он должен дать вам нужный ответ).
Ответ 3
Вопрос не очень хорошо описан. Однако, если этот вопрос связан с Google Container Engine
, то, как упоминается coreypobrien, имя кластера хранится в пользовательских метаданных узлов. Изнутри node выполните следующую команду, и выводом будет имя кластера:
curl http://metadata/computeMetadata/v1/instance/attributes/cluster-name -H "Metadata-Flavor: Google"
Если вы укажете свой вариант использования, я могу продлить свой ответ, чтобы его покрыть.
Ответ 4
Я не верю, что есть кластерное имя k8s. Эта команда может предоставить некоторую приятную информацию
kubectl cluster-info
Ответ 5
API kubernetes мало знает о имени кластера GKE, но вы можете легко получить имя кластера с сервера метаданных Google, как этот
kubectl run curl --rm --restart=Never -it --image=appropriate/curl -- -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/cluster-name
Ответ 6
Для кластеров, которые были установлены с использованием kubeadm
, конфигурация, хранящаяся в kubeadm-config
kubeadm kubeadm-config
имеет имя кластера, используемое при установке кластера.
$ kubectl -n kube-system get configmap kubeadm-config -o yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: kubeadm-config
namespace: kube-system
data:
ClusterConfiguration: |
clusterName: NAME_OF_CLUSTER
Для кластеров, которые используют CoreDNS для своих DNS, "имя кластера" из kubeadm также используется в качестве суффикса домена.
$ kubectl -n kube-system get configmap coredns -o yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: coredns
namespace: kube-system
data:
Corefile: |
.:53 {
kubernetes NAME_OF_CLUSTER.local in-addr.arpa ip6.arpa {
Ответ 7
$kubectl config get-clusters → получите список существующих кластеров
Ответ 8
Это то же самое, что и получение текущей конфигурации, но приведенная ниже команда дает четкий вывод:
kubectl config view