Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Kubernertes CRDs
Pablo Fredrikson
October 17, 2019
Technology
0
100
Kubernertes CRDs
Charla que di en Nerdear.la 2019 en donde hablo de CRDs en Kubernetes.
Pablo Fredrikson
October 17, 2019
Tweet
Share
More Decks by Pablo Fredrikson
See All by Pablo Fredrikson
pablokbs
0
140
pablokbs
0
210
pablokbs
1
210
pablokbs
0
260
pablokbs
0
250
pablokbs
0
300
pablokbs
0
180
pablokbs
0
100
pablokbs
1
220
Other Decks in Technology
See All in Technology
mahito
0
190
line_developers
PRO
0
180
harshbothra
0
130
yoku0825
PRO
3
120
pohjus
0
3.3k
1027kg
0
200
chandi
0
110
miyake
1
430
willnet
12
4.1k
simosako
1
130
nisshii0313
1
160
azara
1
890
Featured
See All Featured
ddemaree
273
31k
lynnandtonic
272
16k
destraynor
222
47k
thoeni
3
610
sstephenson
145
12k
shpigford
165
19k
cromwellryan
104
6.2k
bkeepers
321
53k
jponch
103
5k
kneath
219
15k
holman
447
130k
pauljervisheath
195
15k
Transcript
Pablo Fredrikson @pablokbs CRDs en KUBERNETES
Pablo Fredrikson @pablokbs • Nerd • Lead SRE @ Invision
• 13 años con Linux / Software Libre • 5+ años con Docker • 3 años con Kubernetes en producción • 4º Nerdear.la
Kubernetes en 3 minutos - Conceptos • Pod • Nodo
/ Worker • Controller
Kubernetes en 3 minutos MASTER API server Kube Scheduler Controller
Manager Cloud Controller Manager API Kubernetes Cluster Services API Kubernetes Cluster Services API etcd deployment pod1: - container1 - container2 replicas: 3 pod2: - container3 replicas: 2 Kubelet Kubelet Kubelet P1R3 P1R1 P2R1 P1R2 P2R2
Kubernetes en 3 minutos Kubelet P2R1 Kubelet P1R2 Kubelet Kubernetes
Cluster Services API deployment pod1: - container1 - container2 replicas: 3 pod2: - container3 replicas: 2 P1R3 P1R1 P2R2 P1R3 P1R1
$ kubectl
Kubernetes resources $ kubectl get pods NAME READY STATUS RESTARTS
AGE hello-world-5847b8d4b6-fjbhv 1/1 Running 4 23d $ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-world ClusterIP 10.99.2.206 <none> 8000/TCP 23d kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 100d
Extendiendo la API de Kubernetes: CRDs apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition
metadata: name: crontabs.stable.example.com spec: group: stable.example.com version: v1 scope: Namespaced names: plural: crontabs singular: crontab kind: CronTab shortNames: - ct
Extendiendo la API de Kubernetes: CRDs apiVersion: "stable.example.com/v1" kind: CronTab
metadata: name: my-new-cron-object spec: cronSpec: "* * * * /5" image: my-awesome-cron-image
Extendiendo la API de Kubernetes: CRDs $ kubectl apply -f
mycronjob.yaml $ kubectl get crontabs NAME KIND my-new-cron-object CronTab.v1.stable.example.com
Kubernetes Cluster Services API ¿Dónde está la magia? • Controller
/ Controlador $ kubectl
¿Qué hace un controlador?
demo
/PELADONERD @pablokbs ¿PREGUNTAS? slack.peladonerd.com