Как программно управлять SparkApplication с помощью клиента python kubernetes? - PullRequest
0 голосов
/ 14 февраля 2019

Я бы хотел отправить SparkApplication в кластер Kubernetes программно из python.

Определение задания job.yaml вот так

apiVersion: sparkoperator.k8s.io/v1beta1
kind: SparkApplication
metadata:
  name: my-test
  namespace: default
spec:
  sparkVersion: "2.4.0"
  type: Python
...

работает без проблем с использованием kubectl apply -f job.yaml, но я не могу понять, могу ли я использовать kubernetes-client * и как1011 * чтобы запустить эту работу программно.

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Это, вероятно, то, что вы ищете:

from __future__ import print_function
import time
import kubernetes.client
from kubernetes.client.rest import ApiException
from pprint import pprint

# Configure API key authorization: BearerToken
configuration = kubernetes.client.Configuration()
configuration.api_key['authorization'] = 'YOUR_API_KEY'
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['authorization'] = 'Bearer'

# create an instance of the API class
api_instance = kubernetes.client.CustomObjectsApi(kubernetes.client.ApiClient(configuration))
group = 'group_example' # str | The custom resource's group name
version = 'version_example' # str | The custom resource's version
namespace = 'namespace_example' # str | The custom resource's namespace
plural = 'plural_example' # str | The custom resource's plural name. For TPRs this would be lowercase plural kind.
body = NULL # object | The JSON schema of the Resource to create.
pretty = 'pretty_example' # str | If 'true', then the output is pretty printed. (optional)

try: 
    api_response = api_instance.create_namespaced_custom_object(group, version, namespace, plural, body, pretty=pretty)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling CustomObjectsApi->create_namespaced_custom_object: %s\n" % e)

источник https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/CustomObjectsApi.md#create_namespaced_custom_object

0 голосов
/ 14 февраля 2019

Вот пример, упомянутый, как создать сторонний ресурс на kubernetes с помощью клиента kubernetes python.

https://github.com/kubernetes-client/python/blob/master/examples/create_thirdparty_resource.md

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...