Я установил оператор Spark на K8s в своем кластере K8s, и у меня есть приложение, работающее в кластере k8s. Я хочу, чтобы это приложение могло взаимодействовать со службой CRD SparkApplication. Могу ли я узнать, какую конечную точку мне следует использовать? (или какая конечная точка K8s в кластере K8s)
Как поговорить с сервисом Kubernetes CRD внутри модуля в том же кластере k8s?
Ответы (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
Извини, @Rico, я не поняла. Я хочу реализовать диспетчер приложений Spark. Всякий раз, когда он получает сообщение / сигнал, он запускает дополнительное приложение Spark в кластере k8s. Диспетчер приложений Spark также остается в кластере k8s (то же пространство имен, что и приложения Spark). Таким образом, менеджер должен иметь возможность общаться с API-интерфейсом k8s sparkapplication. Итак, как я могу настроить клиент API? (какой базовый URL-адрес и аутентификация ...)
- person injoy; 07.02.2019