Pro Yearly is on sale from $80 to $50! »

Kubernertes CRDs

Kubernertes CRDs

Charla que di en Nerdear.la 2019 en donde hablo de CRDs en Kubernetes.

04280fd182525cdaee76572782ec34c0?s=128

Pablo Fredrikson

October 17, 2019
Tweet

Transcript

  1. Pablo Fredrikson @pablokbs CRDs en KUBERNETES

  2. 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
  3. Kubernetes en 3 minutos - Conceptos • Pod • Nodo

    / Worker • Controller
  4. 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
  5. 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
  6. $ kubectl

  7. 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
  8. 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
  9. 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
  10. 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
  11. Kubernetes Cluster Services API ¿Dónde está la magia? • Controller

    / Controlador $ kubectl
  12. ¿Qué hace un controlador?

  13. demo

  14. /PELADONERD @pablokbs ¿PREGUNTAS? slack.peladonerd.com