What is Kubernetes (also known as “K8s”) and how can it help you ship cleaner and more reliable projects. Join us as we discuss the ins and outs of Kubernetes and why you should consider using K8s for your next Go project.
Boost PC performance: How more available memory can improve productivity
Building APIs with kubernetes
1. 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. 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
15. 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. 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. 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. 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. 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. 20
How do I build
microservices with
Kubernetes?
24. 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. 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
28. 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. 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
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 :