Использовать переменные среды:
https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_SERVICE_PORT
В контейнере, если данные учетной записи службы не монтируются, вы также можете получить доступ к каталогу:
/var/run/secrets/kubernetes.io/serviceaccount
Здесь вы можете найти файл token
, который содержит токен доступа для учетной записи службы, от которой работает контейнер. Это означает, что вы можете создать отдельную учетную запись службы для приложения в этом проекте и использовать RBAC для управления тем, что оно может делать через API REST.
В этом же каталоге также есть файл namespace
, поэтому вы знаете, в каком проекте выполняется контейнер, и файлы с сертификатами, которые будут использоваться при доступе к REST API через безопасное соединение.
Это рекомендуемый подход, а не попытка передать токен доступа вашему приложению через его конфигурацию.
Обратите внимание, что в OpenShift 4, если вам нужен доступ к конечной точке сервера OAuth, он находится на отдельном URL-адресе относительно того, чем является REST API. В 3.X они были по одному и тому же URL.
В 4.0 вы можете получить доступ к пути /.well-known/oauth-authorization-server
в URL-адресе REST API, чтобы получить информацию об отдельной конечной точке сервера OAuth.
Для получения дополнительной информации о предоставлении REST API доступа к приложению через учетную запись службы см .:
Обратите внимание, что на этой странице в настоящее время написано, что вы можете использовать https://openshift.default.svc.cluster.local
в качестве URL, но это не работает в OpenShift 4.