本文整理汇总了Python中kubernetes.client.V1ServiceSpec方法的典型用法代码示例。如果您正苦于以下问题:Python client.V1ServiceSpec方法的具体用法?Python client.V1ServiceSpec怎么用?Python client.V1ServiceSpec使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kubernetes.client
的用法示例。
在下文中一共展示了client.V1ServiceSpec方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_service
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def create_service():
core_v1_api = client.CoreV1Api()
body = client.V1Service(
api_version="v1",
kind="Service",
metadata=client.V1ObjectMeta(
name="service-example"
),
spec=client.V1ServiceSpec(
selector={"app": "deployment"},
ports=[client.V1ServicePort(
port=5678,
target_port=5678
)]
)
)
# Creation of the Deployment in specified namespace
# (Can replace "default" with a namespace you may have created)
core_v1_api.create_namespaced_service(namespace="default", body=body)
示例2: simple_service
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def simple_service():
"""Return the Kubernetes config matching the simple-service.yaml manifest."""
return client.V1Service(
api_version='v1',
kind='Service',
metadata=client.V1ObjectMeta(
name='my-service'
),
spec=client.V1ServiceSpec(
selector={
'app': 'MyApp'
},
ports=[
client.V1ServicePort(
protocol='TCP',
port=80,
target_port=9376
)
]
)
)
示例3: create_svc_manifest
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def create_svc_manifest(name, port, target_port):
spec = client.V1ServiceSpec(
selector={"app": name},
ports=[client.V1ServicePort(protocol="TCP", port=port, target_port=target_port)]
)
service = client.V1Service( metadata=client.V1ObjectMeta(name=name), spec=spec)
return service
示例4: export_service
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def export_service(self,node_port):
ports = [client.V1ServicePort(port=int(port), target_port=int(port)) for port in self.container_port]
spec = client.V1ServiceSpec(ports=ports, selector={'project': self.dm_name},type='ClusterIP')
if node_port:
ports = [client.V1ServicePort(port=int(self.container_port[0]), target_port=int(self.container_port[0]),node_port=int(node_port))]
spec = client.V1ServiceSpec(ports=ports,selector={'project':self.dm_name},type='NodePort')
service = client.V1Service(
api_version = 'v1',
kind = 'Service',
metadata=client.V1ObjectMeta(name=self.dm_name),
spec=spec)
return service
示例5: update_service
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def update_service(service, name, app, port):
service.metadata = k8sclient.V1ObjectMeta()
service.metadata.name = name
service.metadata.labels = {"app": app}
service.spec = k8sclient.V1ServiceSpec()
service.spec.selector = {"app": app}
service_port = k8sclient.V1ServicePort(port=port, target_port=port)
service.spec.ports = [service_port]
示例6: createService
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def createService(cls, cluster_object: V1MongoClusterConfiguration) -> client.V1Service:
"""
Creates a service model object.
:param cluster_object: The cluster object from the YAML file.
:return: The service object.
"""
# Parse cluster data object.
name = cluster_object.metadata.name
# Create service.
return client.V1Service(
metadata=client.V1ObjectMeta(
name=name,
namespace=cluster_object.metadata.namespace,
labels=cls.createDefaultLabels(name),
),
spec=client.V1ServiceSpec(
cluster_ip="None", # create headless service, no load-balancing and a single service IP
selector=cls.createDefaultLabels(name),
ports=[client.V1ServicePort(
name="mongod",
port=cls.MONGO_PORT,
protocol="TCP"
)],
),
)
示例7: _create_config_service
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def _create_config_service(self):
metadata = k8s_client.V1ObjectMeta(namespace=self._namespace, name=self.config_path, labels=self._labels)
body = k8s_client.V1Service(metadata=metadata, spec=k8s_client.V1ServiceSpec(cluster_ip='None'))
try:
if not self._api.create_namespaced_service(self._namespace, body):
return
except Exception as e:
if not isinstance(e, k8s_client.rest.ApiException) or e.status != 409: # Service already exists
return logger.exception('create_config_service failed')
self._should_create_config_service = False
示例8: __init__
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def __init__(self, name, ports, namespace='default', labels=None, selector=None,
create_in_cluster=False, spec=None):
"""
Utility functions for kubernetes services.
:param name: str, name of the service
:param namespace: str, name of the namespace
:param ports: list of str, list of exposed ports, example:
- ['1234/tcp', '8080/udp']
:param labels: dict, dict of labels
:param selector: dict, route service traffic to pods with label keys and
values matching this selector
"""
self.name = name
self.namespace = namespace
self.ports = ports
exposed_ports = metadata_ports_to_k8s_ports(self.ports)
self.metadata = client.V1ObjectMeta(name=self.name, namespace=self.namespace, labels=labels)
self.spec = spec or client.V1ServiceSpec(ports=exposed_ports, selector=selector)
self.body = client.V1Service(spec=self.spec, metadata=self.metadata)
self.api = get_core_api()
if create_in_cluster:
self.create_in_cluster()
示例9: init_service
# 需要导入模块: from kubernetes import client [as 别名]
# 或者: from kubernetes.client import V1ServiceSpec [as 别名]
def init_service(self, tosca_kube_obj, kube_obj_name):
list_service_port = list()
service_label = tosca_kube_obj.labels
for port in tosca_kube_obj.mapping_ports:
if COLON_CHARACTER in port:
ports = port.split(COLON_CHARACTER)
published_port = int(ports[0])
target_port = int(ports[1])
else:
target_port = published_port = int(port)
service_port = client.V1ServicePort(
name=str(published_port),
port=published_port,
target_port=target_port)
list_service_port.append(service_port)
deployment_name = kube_obj_name
selector_by_name = self.config_labels(deployment_name)
if tosca_kube_obj.labels:
selectors = tosca_kube_obj.labels.copy()
else:
selectors = selector_by_name
if tosca_kube_obj.mgmt_connection_point:
service_label['management_connection'] = 'True'
if tosca_kube_obj.network_name:
service_label['network_name'] = tosca_kube_obj.network_name
service_label['vdu_name'] = tosca_kube_obj.name
metadata = client.V1ObjectMeta(name=deployment_name,
labels=service_label)
if tosca_kube_obj.service_type:
service_type = tosca_kube_obj.service_type
else:
service_type = None
service_spec = client.V1ServiceSpec(
selector=selectors,
ports=list_service_port,
type=service_type)
service = client.V1Service(
api_version="v1",
kind="Service",
spec=service_spec,
metadata=metadata)
return service
# init_config_map initializes Kubernetes ConfigMap object