SlideShare a Scribd company logo
Kube-Lego
Automated certificate provisioning for Kubernetes using ACME
https://github.com/jetstack/kube-lego
@JetstackHQ
Image: (CC BY-SA 4.0) Arto Alanenpää
● ACME Protocol
● Ingress Resources & Controllers
● Kube-Lego Flow
● Demo
● Kube-Lego Roadmap
Agenda
@ DNS admins in the audience, please point any hostname via
a CNAME record to:
kube-lego.jetstack.io
and tweet the hostname @jetstackhq
Demo Preparation
ACME / Let’s Encrypt Protocol
● Well defined Protocol for interacting with a CA
● Supports different challenges
○ HTTP
○ DNS
○ TLS-SNI
○ Proof of possession of a prior key
● User account
● Maximum certificate lifetime 90 days
Automated Certificate Management Environment
Ingress-Controller
Resource
spec:
rules:
- host: foo.bar.com
http:
paths:
- backend:
serviceName: s1
servicePort: 80
- host: bar.foo.com
http:
paths:
- backend:
serviceName: s2
servicePort: 80
● More advanced than services
● Not implemented in tree
● L4 - L7
Ingress-Controller
Nginx
● Runs inside your cluster
● Exposed through services (typically type=LoadBalancer)
● Listens to changes of Ingress resources via K8S-API
=> writes out nginx.conf and reloads nginx
● Custom configuration easily possible
○ Basic Auth
○ HSTS
○ LDAP Auth
SSL Report
Nginx has A+ Grade rating
Ingress-Controller
Google Cloud Engine Load Balancers
● L7 Load Balancing as a service
● Depending on features of GCE Forwarding Rules
● Ingress controller watches changes in K8S API and configures
GCE accordingly
● One ingress object equals one Load Balancer in K8S
● Servics need to be of type=NodePort
Ingress-Controller
Use different Ingress controllers
● Selection of the right controller using
annotation:
kubernetes.io/ingress.class:
"nginx"
kubernetes.io/ingress.class: "gce"
● Same ingress configuration is handled differently on GCE vs.
NGINX
○ Paths / vs. /*
○ Order of backends
○ Aggregation of multiple resources vs. isolated instances
An Introduction to Kube-Lego
An Introduction to Kube-Lego
An Introduction to Kube-Lego
An Introduction to Kube-Lego
An Introduction to Kube-Lego
An Introduction to Kube-Lego
An Introduction to Kube-Lego
An Introduction to Kube-Lego
Demo
Future Work / Roadmap
Kube-Lego roadmap
● Better failure handling (marking requests as permanent failed)
● Specify namespaces to watch
● Configure key length and algorithm
● Support TLS-SNI challenge
● Revoke certificates after they have been replaced
Further Information
christian@jetstack.io
github.com/jetstack/kube-lego
@JetstackHQ
Christian Simon

More Related Content

PPTX
Continous Delivery to Kubernetes using Helm
PDF
Kubernetes 1.3 - Highlights
PDF
CI/CD with Kubernetes, Helm & Wercker (#madScalability)
PPT
Docker and CloudStack
PPTX
Kubernetes101 - Pune Kubernetes Meetup 6
PPTX
Scaling Docker Containers using Kubernetes and Azure Container Service
PPTX
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
PPTX
Deploying apps with Docker and Kubernetes
Continous Delivery to Kubernetes using Helm
Kubernetes 1.3 - Highlights
CI/CD with Kubernetes, Helm & Wercker (#madScalability)
Docker and CloudStack
Kubernetes101 - Pune Kubernetes Meetup 6
Scaling Docker Containers using Kubernetes and Azure Container Service
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
Deploying apps with Docker and Kubernetes

What's hot (20)

PDF
Micro services infrastructure with AWS and Ansible
PPTX
Koop: Using 3rd Party Services in ArcGIS
PDF
Kubernetes on aws
PDF
DevOps in AWS with Kubernetes
PDF
Wanting distributed volumes - Experiences with ceph-docker
PPTX
Kubernetes CI/CD with Helm
PPTX
Kubernetes kubecon-roundup
PDF
Running your dockerized application(s) on AWS Elastic Container Service
PPTX
Kubernetes - State of the Union (Q1-2016)
PDF
Kubernetes on AWS
PPTX
Docker for Fun and Profit
PDF
Continuous Deployment with Jenkins on Kubernetes
PPTX
Automating aws infrastructure and code deployments using Ansible @WebEngage
PDF
reInvent 2021 Recap and k9s review
PPTX
Kubernetes 101 Workshop
PDF
Adventures in docker compose
PDF
Continuous integration with Docker and Ansible
PPTX
Kubernetes Introduction
PDF
Monitoring Containers at New Relic by Sean Kane
PPTX
Container Orchestration using Kubernetes
Micro services infrastructure with AWS and Ansible
Koop: Using 3rd Party Services in ArcGIS
Kubernetes on aws
DevOps in AWS with Kubernetes
Wanting distributed volumes - Experiences with ceph-docker
Kubernetes CI/CD with Helm
Kubernetes kubecon-roundup
Running your dockerized application(s) on AWS Elastic Container Service
Kubernetes - State of the Union (Q1-2016)
Kubernetes on AWS
Docker for Fun and Profit
Continuous Deployment with Jenkins on Kubernetes
Automating aws infrastructure and code deployments using Ansible @WebEngage
reInvent 2021 Recap and k9s review
Kubernetes 101 Workshop
Adventures in docker compose
Continuous integration with Docker and Ansible
Kubernetes Introduction
Monitoring Containers at New Relic by Sean Kane
Container Orchestration using Kubernetes
Ad

Similar to An Introduction to Kube-Lego (20)

PPTX
Kubernetes at (Organizational) Scale
PPTX
Container orchestration and microservices world
PDF
JDO 2019: What you should be aware of before setting up kubernetes on premise...
PDF
IoT Secure Bootsrapping : ideas
PDF
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
PDF
Load Balancing in the Cloud using Nginx & Kubernetes
PDF
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
PDF
Kubernetes Basis: Pods, Deployments, and Services
PPTX
Docker Enterprise Workshop - Technical
PDF
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
PPTX
Introduction to kubernetes
PDF
Extending kubernetes
PPTX
What’s New in NGINX Plus R15?
PDF
Ports, pods and proxies
PDF
What’s New in NGINX Plus R15? - EMEA
PPTX
网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...
PDF
[GS네오텍] Google Kubernetes Engine
PDF
Docker on docker leveraging kubernetes in docker ee
PDF
K8s hard-way on DigitalOcean
PDF
Kubernetes extensibility
Kubernetes at (Organizational) Scale
Container orchestration and microservices world
JDO 2019: What you should be aware of before setting up kubernetes on premise...
IoT Secure Bootsrapping : ideas
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Load Balancing in the Cloud using Nginx & Kubernetes
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Kubernetes Basis: Pods, Deployments, and Services
Docker Enterprise Workshop - Technical
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
Introduction to kubernetes
Extending kubernetes
What’s New in NGINX Plus R15?
Ports, pods and proxies
What’s New in NGINX Plus R15? - EMEA
网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...
[GS네오텍] Google Kubernetes Engine
Docker on docker leveraging kubernetes in docker ee
K8s hard-way on DigitalOcean
Kubernetes extensibility
Ad

Recently uploaded (20)

PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
System and Network Administration Chapter 2
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
AI in Product Development-omnex systems
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
System and Network Administraation Chapter 3
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
How to Choose the Right IT Partner for Your Business in Malaysia
Navsoft: AI-Powered Business Solutions & Custom Software Development
VVF-Customer-Presentation2025-Ver1.9.pptx
How Creative Agencies Leverage Project Management Software.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
Operating system designcfffgfgggggggvggggggggg
wealthsignaloriginal-com-DS-text-... (1).pdf
CHAPTER 2 - PM Management and IT Context
System and Network Administration Chapter 2
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Adobe Illustrator 28.6 Crack My Vision of Vector Design
AI in Product Development-omnex systems
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
System and Network Administraation Chapter 3
2025 Textile ERP Trends: SAP, Odoo & Oracle

An Introduction to Kube-Lego

  • 1. Kube-Lego Automated certificate provisioning for Kubernetes using ACME https://github.com/jetstack/kube-lego @JetstackHQ Image: (CC BY-SA 4.0) Arto Alanenpää
  • 2. ● ACME Protocol ● Ingress Resources & Controllers ● Kube-Lego Flow ● Demo ● Kube-Lego Roadmap Agenda
  • 3. @ DNS admins in the audience, please point any hostname via a CNAME record to: kube-lego.jetstack.io and tweet the hostname @jetstackhq Demo Preparation
  • 4. ACME / Let’s Encrypt Protocol ● Well defined Protocol for interacting with a CA ● Supports different challenges ○ HTTP ○ DNS ○ TLS-SNI ○ Proof of possession of a prior key ● User account ● Maximum certificate lifetime 90 days Automated Certificate Management Environment
  • 5. Ingress-Controller Resource spec: rules: - host: foo.bar.com http: paths: - backend: serviceName: s1 servicePort: 80 - host: bar.foo.com http: paths: - backend: serviceName: s2 servicePort: 80 ● More advanced than services ● Not implemented in tree ● L4 - L7
  • 6. Ingress-Controller Nginx ● Runs inside your cluster ● Exposed through services (typically type=LoadBalancer) ● Listens to changes of Ingress resources via K8S-API => writes out nginx.conf and reloads nginx ● Custom configuration easily possible ○ Basic Auth ○ HSTS ○ LDAP Auth
  • 7. SSL Report Nginx has A+ Grade rating
  • 8. Ingress-Controller Google Cloud Engine Load Balancers ● L7 Load Balancing as a service ● Depending on features of GCE Forwarding Rules ● Ingress controller watches changes in K8S API and configures GCE accordingly ● One ingress object equals one Load Balancer in K8S ● Servics need to be of type=NodePort
  • 9. Ingress-Controller Use different Ingress controllers ● Selection of the right controller using annotation: kubernetes.io/ingress.class: "nginx" kubernetes.io/ingress.class: "gce" ● Same ingress configuration is handled differently on GCE vs. NGINX ○ Paths / vs. /* ○ Order of backends ○ Aggregation of multiple resources vs. isolated instances
  • 18. Demo
  • 19. Future Work / Roadmap Kube-Lego roadmap ● Better failure handling (marking requests as permanent failed) ● Specify namespaces to watch ● Configure key length and algorithm ● Support TLS-SNI challenge ● Revoke certificates after they have been replaced