本文整理汇总了Python中kubernetes.client.BatchV1beta1Api方法的典型用法代码示例。如果您正苦于以下问题:Python client.BatchV1beta1Api方法的具体用法?Python client.BatchV1beta1Api怎么用?Python client.BatchV1beta1Api使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kubernetes.client
的用法示例。
在下文中一共展示了client.BatchV1beta1Api方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import BatchV1beta1Api [as 别名]
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)
示例2: __init__
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import BatchV1beta1Api [as 别名]
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()
示例3: run_step_cronjob
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import BatchV1beta1Api [as 别名]
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,
)