Esempio n. 1
0
def deploy():
    label1 = {"app": "test_service-1"}
    label2 = {"app": "test_service-2"}
    k8sclient.send_create_pod_request(namespace=namespace,
                                      name="pod-1",
                                      args=args,
                                      image=image,
                                      ports={port_number: port_name},
                                      labels=label1,
                                      node_name=node)
    k8sclient.create_service(namespace,
                             "service-1",
                             port=port_number,
                             selector=label1)
    k8sclient.send_create_pod_request(namespace=namespace,
                                      name="pod-2",
                                      args=args,
                                      image=image,
                                      ports={port_number: port_name},
                                      labels=label2,
                                      node_name=node)
    k8sclient.create_service(namespace,
                             "service-2",
                             port=port_number,
                             selector=label2)
Esempio n. 2
0
 def _create_pod(self, name, probe="", labels=None, node_name=None):
     r = k8sclient.send_create_pod_request(
         namespace=self.namespace,
         name=name,
         args=self.args,
         image=self.image,
         ports={self.port_number: self.port_name},
         probe=probe,
         labels=labels,
         node_name=node_name)
     assert r.status.phase == "Pending", r.status.phase
     assert r.kind == "Pod", r.kind
     assert r.metadata.namespace == self.namespace, r.metadata.namespace
     assert r.metadata.name == name, r.metadata.name
     assert r.spec.containers[
         0].image_pull_policy == "IfNotPresent", r.spec.containers[
             0].image_pull_policy
     assert r.spec.containers[0].name == name, r.spec.containers[0].name
     assert r.spec.containers[0].ports[
         0].container_port == self.port_number, r.spec.containers[0].ports[
             0].container_port
     assert r.spec.containers[0].ports[
         0].name == self.port_name, r.spec.containers[0].ports[0].name
     assert r.spec.containers[0].ports[
         0].protocol == "TCP", r.spec.containers[0].ports[0].protocol
     assert r.spec.dns_policy == "ClusterFirst", r.spec.dns_policy
     assert r.spec.restart_policy == "Always", r.spec.restart_policy
     return r
Esempio n. 3
0
def _deploy_on_node(node):
    name_prefix = "-".join(node.split(".")) + uid
    label1 = {name_prefix + "-app": "test_service-1"}
    pod_label1 = label1.copy()
    pod_label1.update(glabel)
    label2 = {name_prefix + "-app": "test_service-2"}
    pod_label2 = label2.copy()
    pod_label2.update(glabel)
    pod1 = name_prefix + "-pod-1"
    pod2 = name_prefix + "-pod-2"
    service1 = "service-1-" + name_prefix
    service2 = "service-2-" + name_prefix
    k8sclient.send_create_pod_request(
        namespace=namespace,
        name=pod1,
        args=args,
        image=image,
        ports={port_number: port_name},
        labels=pod_label1,
        node_name=node,
        requests={'cpu': '0'},
        #limits={'cpu': '1200m'}
    )
    k8sclient.create_service(namespace,
                             service1,
                             port=port_number,
                             selector=label1)
    k8sclient.send_create_pod_request(
        namespace=namespace,
        name=pod2,
        args=args,
        image=image,
        ports={port_number: port_name},
        labels=pod_label2,
        node_name=node,
        requests={'cpu': '0'},
        #limits={'cpu': '1200m'}
    )
    k8sclient.create_service(namespace,
                             service2,
                             port=port_number,
                             selector=label2)