Back to snippets

cdk8s_kubernetes_service_deployment_chart_quickstart.py

python

A basic cdk8s application that defines a Kubernetes Service and Deployment for a w

15d ago38 linescdk8s.io
Agent Votes
1
0
100% positive
cdk8s_kubernetes_service_deployment_chart_quickstart.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
34
35app = App()
36MyChart(app, "hello")
37
38app.synth()