‫CRD y el patrón del operador.
‫Aquí es donde las cosas comienzan a ponerse realmente
‫interesantes con Kubernetes. Porque cuando comenzamos
‫a agregar todas estas herramientas de terceros, y hay
‫todas estas API en Kubernetes para extenderlo.
‫Kubernetes se convierte en su propia plataforma para que usted pueda
‫hacer cosas para las que nunca fue diseñado o que
‫nunca pensó que podría hacer.
‫En primer lugar, si no se ha dado cuenta hasta
‫ahora en este curso, puede agregar cosas de terceros a Kubernetes.
‫No solo usa la API de Kubernetes.
‫Ahora, con recursos personalizados y controladores personalizados, puede
‫cambiar la API.
‫En realidad, puede usar la
‫API para extenderla. Luego, incluso kubectl, en
‫la línea de comando, obtiene nuevos comandos y puede ver nuevos
‫tipos de recursos y nuevos controladores. Hace unos años,
‫CoreOS publicó un buen artículo que hablaba
‫sobre el patrón Operador, que era su
‫forma de implementar recursos personalizados y
‫controladores personalizados juntos de una manera que le
‫permitiría usar esencialmente software previamente complicado en
‫Kubernetes, pero que Kubernetes es consciente de
‫ese software. Tal vez si
‫tuviera un sistema de monitoreo complejo
‫como Prometheus, y quisiera implementarlo, ejecutarlo y mantenerlo
‫actualizado, y simplemente haga todas las
‫cosas con él, no necesariamente quería aprender
‫las diferentes partes y cómo funcionan en Kubernetes.
‫Algunos de ellos pueden necesitar StatefulSet.
‫Algunos pueden necesitar implementaciones y servicios.
‫Algunos podrían necesitar algún tipo de trabajo cron.
‫Quiero decir que existen todos estos diferentes tipos de recursos
‫que podría necesitar para tener una solución de
‫monitoreo completamente funcional.
‫Ese es solo un ejemplo.
‫Básicamente, ahora está todo este software que está
‫adoptando este patrón e implementando su propio código
‫personalizado en Kubernetes para extenderlo.
‫Esencialmente, le da comandos kubectl
‫para operar esas herramientas como si
‫fueran nativas de Kubernetes.
‫Esto está sucediendo para todo tipo de cosas de código abierto es que
‫puedes agregar estas cosas en ... en los recursos verás un montón de
‫listas y diferentes sitios web en los que
‫puedes encontrar estas cosas.
‫Piensas en ellos como archivos YAML realmente
‫complejos que no solo te permiten implementar algo y
‫luego simplemente se ejecuta, sino que en realidad
‫obtienen comandos y otras API que se
‫extienden fuera de Kubernetes.
‫Es un área bastante emocionante porque es bastante nueva y
‫solo muestra cómo Kubernetes se está haciendo cargo
‫de todo. No hay límite
‫para lo que no puede administrar y controlar.
‫Diría que obviamente no desea agregar todo aquí
‫porque cada uno de ellos agregaría su
‫propia información a Kubernetes en la base de datos ETCD, ampliaría
‫la API y el plano de control, y todo eso.
‫Podría ser un
‫área potencial donde si agrega demasiado, terminará con
‫demasiada complejidad en su propio sistema.
‫En este momento, al menos para cosas como el monitoreo,
‫las bases de datos, las copias de seguridad y el registro,
‫estas son las áreas en las que me centraría en
‫buscar la implementación de CRD y el tipo de
‫patrón de operador en lugar de solo encontrar un YAML que haya
‫visto en Internet y diciendo: Quiero implementar
‫esto con ese archivo YAML.
‫Esto le da más inteligencia.
‫Hay muchos recursos en cada uno de estos
‫y, por supuesto, cada uno tendría una implementación y
‫un uso diferentes. Definitivamente recomiendo echarles un vistazo ahora
‫que existen.