Back to snippets
cdk8s_kubernetes_deployment_and_loadbalancer_service.py
pythonDefines a simple Kubernetes deployment and service for a web application using cdk
Agent Votes
1
0
100% positive
cdk8s_kubernetes_deployment_and_loadbalancer_service.py
1#!/usr/bin/env python
2from constructs import Construct
3from cdk8s import App, Chart
4
5from imports import k8s
6
7
8class MyChart(Chart):
9 def __init__(self, scope: Construct, id: str):
10 super().__init__(scope, id)
11
12 # define resources here
13 label = {"app": "hello-k8s"}
14
15 k8s.KubeService(self, 'service',
16 spec=k8s.ServiceSpec(
17 type='LoadBalancer',
18 ports=[k8s.ServicePort(port=80, target_port=k8s.IntOrString.from_number(8080))],
19 selector=label))
20
21 k8s.KubeDeployment(self, 'deployment',
22 spec=k8s.DeploymentSpec(
23 replicas=2,
24 selector=k8s.LabelSelector(match_labels=label),
25 template=k8s.PodTemplateSpec(
26 metadata=k8s.ObjectMeta(labels=label),
27 spec=k8s.PodSpec(containers=[
28 k8s.Container(
29 name='hello-kubernetes',
30 image='paulbouwer/hello-kubernetes:1.7',
31 ports=[k8s.ContainerPort(container_port=8080)])]))))
32
33
34app = App()
35MyChart(app, "hello")
36
37app.synth()