Python kubernetes.client.BatchV1beta1Api() Examples
The following are 3
code examples of kubernetes.client.BatchV1beta1Api().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
kubernetes.client
, or try the search function
.
Example #1
Source File: k8s.py From armada with Apache License 2.0 | 6 votes |
def __init__(self, bearer_token=None): ''' Initialize connection to Kubernetes ''' self.bearer_token = bearer_token api_client = None try: config.load_incluster_config() except config.config_exception.ConfigException: config.load_kube_config() if self.bearer_token: # Configure API key authorization: Bearer Token configuration = client.Configuration() configuration.api_key_prefix['authorization'] = 'Bearer' configuration.api_key['authorization'] = self.bearer_token api_client = client.ApiClient(configuration) self.client = client.CoreV1Api(api_client) self.batch_api = client.BatchV1Api(api_client) self.batch_v1beta1_api = client.BatchV1beta1Api(api_client) self.custom_objects = client.CustomObjectsApi(api_client) self.api_extensions = client.ApiextensionsV1beta1Api(api_client) self.extension_api = client.ExtensionsV1beta1Api(api_client) self.apps_v1_api = client.AppsV1Api(api_client)
Example #2
Source File: k8s.py From armada with Apache License 2.0 | 6 votes |
def __init__(self): ''' Initialize connection to Kubernetes ''' try: config.load_incluster_config() except config.config_exception.ConfigException: config.load_kube_config() self.client = client.CoreV1Api() self.batch_api = client.BatchV1Api() self.batch_v1beta1_api = client.BatchV1beta1Api() self.extension_api = client.ExtensionsV1beta1Api()
Example #3
Source File: pipeline.py From freight with Apache License 2.0 | 5 votes |
def run_step_cronjob( step: Dict[str, Any], context: PipelineContext ) -> List[Tuple[Callable, Dict[str, str]]]: # Update a Kubernetes CronJob context.workspace.log.info(f"Updating CronJob: {repr(step)}") api = client.BatchV1beta1Api(context.kube.client) selector = format_task(step["selector"], context.task) selector.setdefault("namespace", "default") containers = format_task(step["containers"], context.task) watchers: List[Tuple[Callable, Dict[str, str]]] = [] # See comments about Deployments, it's almost identical, with the key # difference being we don't need to need to wait for any rollout, since # this just gets applied immediately to the spec. for cronjob in api.list_namespaced_cron_job(**selector).items: namespace = cronjob.metadata.name name = cronjob.metadata.name changes = False for container in cronjob.spec.job_template.spec.template.spec.containers: for c in containers: if container.name == c["name"]: container.image = c["image"] changes = True if changes: if cronjob.metadata.annotations is None: cronjob.metadata.annotations = {} for k, v in asdict(context.task).items(): if k == "ssh_key": continue k = f"freight.sentry.io/{k}" cronjob.metadata.annotations[k] = v resp = api.patch_namespaced_cron_job( name=cronjob.metadata.name, namespace=cronjob.metadata.namespace, body=cronjob, )