Как получить текущее пространство имен в кластере Go клиента Kubernetes - PullRequest
0 голосов
/ 13 ноября 2018

Как получить текущее пространство имен развертывания / службы с помощью API-интерфейса kubernetes client-go?Кажется, его нет ни в объекте клиента, ни в конфигурации.

Ответы [ 2 ]

0 голосов
/ 26 января 2019

Использование

ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/namespace")

работает, но уродливо, когда желаемая реализация присутствует в методе Namespace() inClusterClientConfig.Но как бы вы получили этот объект, начиная с rest.InClusterConfig()?Его можно создать только снаружи пакета через NewNonInteractiveDeferredLoadingClientConfig.

Я вижу kubernetes # 63707 , который выглядит связанным, но был заброшен.

0 голосов
/ 13 ноября 2018

Вы всегда можете установить контекст для каждого пространства имен и затем прочитать из kubeconfig, в каком контексте вы в данный момент находитесь:

Используйте следующий код, чтобы узнать, в каком пространстве имен вы находитесь:

namespace, _, err := kubeconfig.Namespace()
    if err != nil {
            panic(err)
    }

Это вернет пространство имен, в котором вы находитесь.

Для получения дополнительной информации см .:

https://github.com/kubernetes/client-go/blob/master/tools/clientcmd/client_config.go

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...