def __init__(self, scope: Construct, ns: str): super().__init__(scope, ns) label = {"app": "hello-k8s"} k8s.Service(self, 'service', spec=k8s.ServiceSpec( type='LoadBalancer', ports=[ k8s.ServicePort( port=80, target_port=k8s.IntOrString.from_number(8080)) ], selector=label)) k8s.Deployment( self, 'deployment', spec=k8s.DeploymentSpec( replicas=2, selector=k8s.LabelSelector(match_labels=label), template=k8s.PodTemplateSpec( metadata=k8s.ObjectMeta(labels=label), spec=k8s.PodSpec(containers=[ k8s.Container( name='hello-kubernetes', image='paulbouwer/hello-kubernetes:1.7', ports=[k8s.ContainerPort(container_port=8080)]) ]))))
def __init__(self, scope: Construct, ns: str): super().__init__(scope, ns) label = {"app": "guestbook-ui"} k8s.Service(self, 'service', spec=k8s.ServiceSpec( type='LoadBalancer', ports=[ k8s.ServicePort( port=80, target_port=k8s.IntOrString.from_number(80)) ], selector=label)) k8s.Deployment( self, 'deployment', spec=k8s.DeploymentSpec( replicas=1, selector=k8s.LabelSelector(match_labels=label), template=k8s.PodTemplateSpec( metadata=k8s.ObjectMeta(labels=label), spec=k8s.PodSpec(containers=[ k8s.Container( name='guestbook-ui', image='gcr.io/heptio-images/ks-guestbook-demo:0.2', ports=[k8s.ContainerPort(container_port=80)]) ]))))
def __init__(self, scope: Construct, ns: str, *, image: str, replicas: typing.Optional[int] = 1, port: typing.Optional[int] = 80, container_port: typing.Optional[int] = 8000): super().__init__(scope, ns) label = {'app': Node.of(self).unique_id} k8s.Service(self, 'service', spec=k8s.ServiceSpec( type='NodePort', ports=[k8s.ServicePort(port=port, target_port=k8s.IntOrString.from_number(container_port))], selector=label)) k8s.Deployment(self, 'deployment', spec=k8s.DeploymentSpec( replicas=replicas, selector=k8s.LabelSelector(match_labels=label), template=k8s.PodTemplateSpec( metadata=k8s.ObjectMeta(labels=label), spec=k8s.PodSpec( containers=[ k8s.Container( name='app', image=image, ports=[k8s.ContainerPort(container_port=container_port)])]))))
def __init__(self, scope: Construct, ns: str, **kwargs): super().__init__(scope, ns, **kwargs) # define resources here k8s.Pod( self, 'pod', spec=k8s.PodSpec(containers=[ k8s.Container(name="hello-kubernetes", image="paulbouwer/hello-kubernetes:1.7", ports=[k8s.ContainerPort(container_port=8080)]) ]))
def __init__(self, scope: Construct, id: str): super().__init__(scope, id, namespace='dev') app_name = 'aws-test-sa-default' app_label = {'app': app_name} k8s.KubeDeployment( self, f"Aws-TestDeployment-SA-Default", metadata=k8s.ObjectMeta(labels=app_label, name=app_name), spec=k8s.DeploymentSpec( replicas=1, selector=k8s.LabelSelector(match_labels=app_label), template=k8s.PodTemplateSpec( metadata=k8s.ObjectMeta(labels=app_label), spec=k8s.PodSpec(containers=[ k8s.Container(name=app_name, image="mikesir87/aws-cli:v1", command=["sleep 60"]) ])))) app_name = 'aws-test-iam-sa' app_label = {'app': app_name} k8s.KubeDeployment( self, f"Aws-TestDeployment-IAM-SA", metadata=k8s.ObjectMeta(labels=app_label, name=app_name), spec=k8s.DeploymentSpec( replicas=1, selector=k8s.LabelSelector(match_labels=app_label), template=k8s.PodTemplateSpec( metadata=k8s.ObjectMeta(labels=app_label), spec=k8s.PodSpec(service_account_name='sel-eks-sa', containers=[ k8s.Container( name=app_name, image="mikesir87/aws-cli:v1", command=["sleep 60"]) ]))))
def __init__(self, scope: Construct, ns: str, *, image: str, replicas: int = 1, port: int = 80, container_port: int = 8080): super().__init__(scope, ns) label = {"app": Node.of(self).unique_id} k8s.Service( self, "service", spec=k8s.ServiceSpec( type="LoadBalancer", ports=[ k8s.ServicePort( port=port, target_port=k8s.IntOrString.from_number( container_port), ) ], selector=label, ), ) k8s.Deployment( self, "deployment", spec=k8s.DeploymentSpec( replicas=replicas, selector=k8s.LabelSelector(match_labels=label), template=k8s.PodTemplateSpec( metadata=k8s.ObjectMeta(labels=label), spec=k8s.PodSpec(containers=[ k8s.Container( name="app", image=image, ports=[ k8s.ContainerPort( container_port=container_port) ], ) ]), ), ), )
def __init__(self, scope: Construct, ns: str): super().__init__(scope, ns) labels = {"app": "cdk8s-python"} k8s.Service( self, 'service', spec=k8s.ServiceSpec( type='LoadBalancer', ports=[ k8s.ServicePort( port=80, target_port=k8s.IntOrString.from_number(80) ), ], selector=labels, ), ) k8s.Deployment( self, 'deployment', spec=k8s.DeploymentSpec( replicas=2, selector=k8s.LabelSelector(match_labels=labels), template=k8s.PodTemplateSpec( metadata=k8s.ObjectMeta(labels=labels), spec=k8s.PodSpec( containers=[ k8s.Container( name=ns, image='nginxdemos/hello', ports=[ k8s.ContainerPort(container_port=80), ], ), ], ), ), ), )
def render_k8s_resource(self, chart: Chart) -> k8s.Container: if self.liveness_probe_path is not None and self.liveness_probe_port is not None: liveness_probe = k8s.Probe(http_get=k8s.HttpGetAction( port=self.liveness_probe_port, path=self.liveness_probe_path)) else: liveness_probe = None if self.readiness_probe_port is not None and self.readiness_probe_port is not None: readiness_probe = k8s.Probe( http_get=k8s.HttpGetAction(port=self.readiness_probe_port, path=self.readiness_probe_path)) else: readiness_probe = None return k8s.Container(name=self.name, image=f"{self.image}:{self.tag}", ports=self.ports.render(), security_context=self.security_context.render(), resources=self.resource_requirements.render(), volume_mounts=self.volume_mounts, command=self.command, liveness_probe=liveness_probe, readiness_probe=readiness_probe)