Как поговорить с сервисом Kubernetes CRD внутри модуля в том же кластере k8s?

Я установил оператор Spark на K8s в своем кластере K8s, и у меня есть приложение, работающее в кластере k8s. Я хочу, чтобы это приложение могло взаимодействовать со службой CRD SparkApplication. Могу ли я узнать, какую конечную точку мне следует использовать? (или какая конечная точка K8s в кластере K8s)


person injoy    schedule 07.02.2019    source источник


Ответы (1)


Это четко задокументировано здесь. Таким образом, он создает службу типа NodePort. Он также указывает, что он может создать Ingress для доступа к пользовательскому интерфейсу. Например:

...
status:
  sparkApplicationId: spark-5f4ba921c85ff3f1cb04bef324f9154c9
  applicationState:
    state: COMPLETED
  completionTime: 2018-02-20T23:33:55Z
  driverInfo:
    podName: spark-pi-83ba921c85ff3f1cb04bef324f9154c9-driver
    webUIAddress: 35.192.234.248:31064
    webUIPort: 31064
    webUIServiceName: spark-pi-2402118027-ui-svc
    webUIIngressName: spark-pi-ui-ingress
    webUIIngressAddress: spark-pi.ingress.cluster.com

В этом случае вы можете использовать 35.192.234.248:31064 для доступа к своему пользовательскому интерфейсу. Внутри кластера K8s вы можете использовать spark-pi-2402118027-ui-svc.<namespace>.svc.cluster.local или просто spark-pi-2402118027-ui-svc, если вы находитесь в том же пространстве имен.

person Rico    schedule 07.02.2019
comment
Извини, @Rico, я не поняла. Я хочу реализовать диспетчер приложений Spark. Всякий раз, когда он получает сообщение / сигнал, он запускает дополнительное приложение Spark в кластере k8s. Диспетчер приложений Spark также остается в кластере k8s (то же пространство имен, что и приложения Spark). Таким образом, менеджер должен иметь возможность общаться с API-интерфейсом k8s sparkapplication. Итак, как я могу настроить клиент API? (какой базовый URL-адрес и аутентификация ...) - person injoy; 07.02.2019