1
J O N G E A R
@ G e a r e d U p Te c h
@ J o n G e a r
j o n . g e a r @ j d k t e c h . c o m
K8s APIs
2
Agenda
G o S e r v e r l e s s M e e t u p
1. What is Kubernetes (K8s)
2. Who is using K8s
3. Building APIs with K8s
4. Pictures of containers
5. Next Steps
J u l y 1 7 t h 2 0 1 8
3
4
“Kubernetes is an open-
source system for
automating deployment,
scaling, and management
of containerize
applications”
What is
Kubernetes?
5
6
7
8
9
10
11
Who is using
Kubernetes?
G r e e k f o r “ h e l m s m a n ”
Helmsman
12 https://kubernetes.io/case-studies
13
https://stackshare.io/kubernetes
14
How does
Kubernetes work?
G r e e k f o r “ h e l m s m a n ”
15
01
M a s t e r
Responsible for managing the cluster
02
N o d e
Worker machine in cluster
03
P o d ( N o d e p r o c e s s )
Atomic unit of Kubernetes
16
The Master
M a n a g e s t h e
c l u s t e r01 E x p o s e s
K u b e r n e t e s
A P I
02 S c h e d u l e s ,
s c a l e s a n d
r o l l s o u t n e w
u p d a t e s
03
01
17
The Node
Wo r k e r
m a c h i n e01 K u b e l e t :
s c h e d u l e s
p o d s a c r o s s
t h e n o d e s i n
t h e c l u s t e r
02 P o d
b a l a n c i n g
h a n d l e d b y
m a s t e r
03
02
18
The Node02
Business Title Here
Containers should only be scheduled together
in a single Pod if they are tightly coupled and
need to share resources such as disk
19
The Pod
S h a r e d
s t o r a g e ,
a s Vo l u m e s
01 N e t w o r k i n g ,
a s a u n i q u e
c l u s t e r I P
a d d r e s s
02 C r e a t e d
t h r o u g h
d e p l o y m e n t s
03
03
20
How do I build
microservices with
Kubernetes?
21
22
23
24
Ambassador
A P I G a t e w a y f o r K 8 s b u i l t o n E n v o y
https://www.getambassador.io
25
01
R o u t i n g
Regex, method and header-based routing
02
U R L R e w r i t i n g
Replace the URL prefix
03
g R P C
04
C a n a r y R e l e a s e
Test updates against subset of production
traffic
05
Tr a f f i c S h a d o w i n g
Test services with production data, mirroring
live traffic
06
We b s o c k e t s
Ambassador
A P I G a t e w a y f o r K 8 s b u i l t o n E n v o y
26
27
Add support to
invoice_svc.yml
28
Helm
P a c k a g e m a n a g e r f o r K u b e r n e t e s
https://helm.sh
Packages of pre-configured k8s resources
https://github.com/kubernetes/helm
Charts
Two Parts
Helm client (helm)
Helm server (tiller)
https://docs.helm.sh/using_helm/#installing-helm
29
Virtual Kubelet
S e r v e r l e s s c o n t a i n e r e x t e n s i o n
Providers
• Azure Container Instances
• AWS Fargate
• Hyper.sh
• Roll your own provider
https://github.com/virtual-kubelet/virtual-kubelet
30
Cloud Support
31
Thanks for coming!
• Kubernetes interactive tutorial
https://kubernetes.io/docs/tutorials/kubernetes-basics
• Getting Stated with Microservies using Go, gRPC and Kubernetes
https://outcrawl.com/getting-started-microservices-go-grpc-kubernetes
• Sign up for Kubernetes slack
http://slack.k8s.io
• Kubernetes team office hours every third Wednesday of the month 1pm / 8pm UTC (that’s tomorrow!)
https://github.com/kubernetes/community/blob/master/events/office-hours.md
• Deploy a Go application to Kubernetes in 30 seconds
https://bit.ly/2uBGHT2
• Getting started with micro services and Kubernetes (Ambassador setup)
https://hackernoon.com/getting-started-with-microservices-and-kubernetes-76354312b556
J O N G E A R
@ G e a r e d U p Te c h
@ J o n G e a r
j o n . g e a r @ j d k t e c h . c o m
L i n k s f o r g e t t i n g s t a r t e d :

Building APIs with kubernetes

  • 1.
    1 J O NG E A R @ G e a r e d U p Te c h @ J o n G e a r j o n . g e a r @ j d k t e c h . c o m K8s APIs
  • 2.
    2 Agenda G o Se r v e r l e s s M e e t u p 1. What is Kubernetes (K8s) 2. Who is using K8s 3. Building APIs with K8s 4. Pictures of containers 5. Next Steps J u l y 1 7 t h 2 0 1 8
  • 3.
  • 4.
    4 “Kubernetes is anopen- source system for automating deployment, scaling, and management of containerize applications” What is Kubernetes?
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    11 Who is using Kubernetes? Gr e e k f o r “ h e l m s m a n ” Helmsman
  • 12.
  • 13.
  • 14.
    14 How does Kubernetes work? Gr e e k f o r “ h e l m s m a n ”
  • 15.
    15 01 M a st e r Responsible for managing the cluster 02 N o d e Worker machine in cluster 03 P o d ( N o d e p r o c e s s ) Atomic unit of Kubernetes
  • 16.
    16 The Master M an a g e s t h e c l u s t e r01 E x p o s e s K u b e r n e t e s A P I 02 S c h e d u l e s , s c a l e s a n d r o l l s o u t n e w u p d a t e s 03 01
  • 17.
    17 The Node Wo rk e r m a c h i n e01 K u b e l e t : s c h e d u l e s p o d s a c r o s s t h e n o d e s i n t h e c l u s t e r 02 P o d b a l a n c i n g h a n d l e d b y m a s t e r 03 02
  • 18.
    18 The Node02 Business TitleHere Containers should only be scheduled together in a single Pod if they are tightly coupled and need to share resources such as disk
  • 19.
    19 The Pod S ha r e d s t o r a g e , a s Vo l u m e s 01 N e t w o r k i n g , a s a u n i q u e c l u s t e r I P a d d r e s s 02 C r e a t e d t h r o u g h d e p l o y m e n t s 03 03
  • 20.
    20 How do Ibuild microservices with Kubernetes?
  • 21.
  • 22.
  • 23.
  • 24.
    24 Ambassador A P IG a t e w a y f o r K 8 s b u i l t o n E n v o y https://www.getambassador.io
  • 25.
    25 01 R o ut i n g Regex, method and header-based routing 02 U R L R e w r i t i n g Replace the URL prefix 03 g R P C 04 C a n a r y R e l e a s e Test updates against subset of production traffic 05 Tr a f f i c S h a d o w i n g Test services with production data, mirroring live traffic 06 We b s o c k e t s Ambassador A P I G a t e w a y f o r K 8 s b u i l t o n E n v o y
  • 26.
  • 27.
  • 28.
    28 Helm P a ck a g e m a n a g e r f o r K u b e r n e t e s https://helm.sh Packages of pre-configured k8s resources https://github.com/kubernetes/helm Charts Two Parts Helm client (helm) Helm server (tiller) https://docs.helm.sh/using_helm/#installing-helm
  • 29.
    29 Virtual Kubelet S er v e r l e s s c o n t a i n e r e x t e n s i o n Providers • Azure Container Instances • AWS Fargate • Hyper.sh • Roll your own provider https://github.com/virtual-kubelet/virtual-kubelet
  • 30.
  • 31.
    31 Thanks for coming! •Kubernetes interactive tutorial https://kubernetes.io/docs/tutorials/kubernetes-basics • Getting Stated with Microservies using Go, gRPC and Kubernetes https://outcrawl.com/getting-started-microservices-go-grpc-kubernetes • Sign up for Kubernetes slack http://slack.k8s.io • Kubernetes team office hours every third Wednesday of the month 1pm / 8pm UTC (that’s tomorrow!) https://github.com/kubernetes/community/blob/master/events/office-hours.md • Deploy a Go application to Kubernetes in 30 seconds https://bit.ly/2uBGHT2 • Getting started with micro services and Kubernetes (Ambassador setup) https://hackernoon.com/getting-started-with-microservices-and-kubernetes-76354312b556 J O N G E A R @ G e a r e d U p Te c h @ J o n G e a r j o n . g e a r @ j d k t e c h . c o m L i n k s f o r g e t t i n g s t a r t e d :