У меня есть приложение Java, построенное как изображение докеров.
Изображение развернуто в кластере k8s.
В приложении java я хочу подключиться к серверу api и сохранить что-то в секретах.
Как я могу это сделать с помощью java-клиента k8s?
В официальном документе k8s говорится:
Изнутри стручка рекомендуемыми способами подключения к API являются: запуск прокси-сервера kubectl в контейнере sidecar в контейнере или в качестве фонового процесса в контейнере. Это проксирует API Kubernetes к локальному интерфейсу модуля, так что другие процессы в любом контейнере модуля могут получить к нему доступ. используйте клиентскую библиотеку Go и создайте клиент, используя функции rest.InClusterConfig () и kubernetes.NewForConfig (). Они обрабатывают локализацию и аутентификацию досадника.Но я не могу найти аналогичные функции и не похожие примеры в java-клиенте.
С предположением, что у вашего Pod есть serviceAccount automounted - по умолчанию, если вы не указали иначе - метод ClientBuilder.cluster() считывает URL-адрес API из среды, считывает CA кластера из хорошо известного местоположения , и аналогичным образом маркер ServiceAccount из того же места.
Затем, хотя не точно «создать секрет», этот ClientBuilder.cluster() выполняет операцию мутации, которую можно обобщить в "создать или обновить секрет."