Что я пробовал: я использовал библиотеку io.kubernetes для аутентификации моего Java-модуля на API-сервере.
Код: Выделить всё
public Auth() throws Exception {
String url = url;
String token =token;
boolean validateSSL = true;
AccessTokenAuthentication authentication = new AccessTokenAuthentication(token);
ApiClient client = ClientBuilder
.standard()
.setBasePath(url)
.setAuthentication(authentication)
.setVerifyingSsl(validateSSL)
.build();
CoreV1Api api = new CoreV1Api(client);
try {
V1PodList podList = api.listPodForAllNamespaces(null, null, null, null, null, null, null, null, null,null);
podList.getItems().forEach(pod -> System.out.println(pod.getMetadata().getName()));
} catch (ApiException e) {
System.err.println("Error: " + e.getResponseBody());
}
}
Я создал привязку роли для этой учетной записи службы, чтобы просматривать модули внутри кластера:
Код: Выделить всё
kubectl create rolebinding service-account-default \
--clusterrole=view \
--serviceaccount=default:service-account \
--namespace=default
Код: Выделить всё
Error: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401}Подробнее здесь: https://stackoverflow.com/questions/783 ... api-server
Мобильная версия