From b801f4506c66ae42bdb6d9ce03e00551c20e3a0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Jorge=20Viana=20de=20Bragan=C3=A7a=20Menezes?= <25741145+pedrojorgeviana@users.noreply.github.com> Date: Sun, 4 Feb 2024 18:10:12 +0100 Subject: [PATCH 1/2] issue#212 --- es/README.md | 226 ++++++- es/day-14/README.md | 1067 ++++++++++++++++++++++++++++++++++ es/day-14/images/image-1.png | Bin 0 -> 137217 bytes es/day-14/images/image-2.png | Bin 0 -> 95226 bytes es/day-14/images/image-3.png | Bin 0 -> 94613 bytes es/day-15/README.md | 643 ++++++++++++++++++++ 6 files changed, 1926 insertions(+), 10 deletions(-) create mode 100644 es/day-14/README.md create mode 100644 es/day-14/images/image-1.png create mode 100644 es/day-14/images/image-2.png create mode 100644 es/day-14/images/image-3.png create mode 100644 es/day-15/README.md diff --git a/es/README.md b/es/README.md index afe9c547..effe34b0 100644 --- a/es/README.md +++ b/es/README.md @@ -11,7 +11,7 @@ El enfoque del curso es capacitar a la persona para trabajar con Kubernetes de m ## Contenido
-DÍA 1 +DAY-1 - [Simplificando Kubernetes](day-1/README.md#simplificando-kubernetes) - [Día 1](day-1/README.md##día-1) @@ -231,12 +231,68 @@ El enfoque del curso es capacitar a la persona para trabajar con Kubernetes de m
DAY-8 -TO DO + +- [Simplificando Kubernetes](day-8/#simplificando-kubernetes) + - [Día 8](day-8/#día-8) + - [Contenido del Día 8](day-8/#contenido-del-día-8) + - [¿Qué veremos hoy?](day-8/#qué-veremos-hoy) + - [¿Qué son los Secrets?](day-8/#qué-son-los-secrets) + - [¿Cómo funcionan los Secrets?](day-8/#cómo-funcionan-los-secrets) + - [Tipos de Secrets](day-8/#tipos-de-secrets) + - [Antes de crear un Secret, el Base64](day-8/#antes-de-crear-un-secret-el-base64) + - [Creando nuestro primer Secret](day-8/#creando-nuestro-primer-secret) + - [Usando nuestro primer Secret](day-8/#usando-nuestro-primer-secret) + - [Creando un Secreto para almacenar credenciales de Docker](day-8/#creando-un-secreto-para-almacenar-credenciales-de-docker) + - [Creando un Secret TLS](day-8/#creando-un-secret-tls) + - [ConfigMaps](day-8/#configmaps) + - [Operador de Secretos Externos](day-8/#operador-de-secretos-externos) + - [El Rol Destacado del ESO](day-8/#el-rol-destacado-del-eso) + - [Conceptos Clave del Operador de Secretos Externos](day-8/#conceptos-clave-del-operador-de-secretos-externos) + - [SecretStore](day-8/#secretstore) + - [ExternalSecret](day-8/#externalsecret) + - [ClusterSecretStore](day-8/#clustersecretstore) + - [Control de Acceso y Seguridad](day-8/#control-de-acceso-y-seguridad) + - [Configurando el External Secrets Operator](day-8/#configurando-el-external-secrets-operator) + - [¿Qué es Vault?](day-8/#qué-es-vault) + - [¿Por Qué Usar Vault?](day-8/#por-qué-usar-vault) + - [Comandos Básicos de Vault](day-8/#comandos-básicos-de-vault) + - [El Vault en el Contexto de Kubernetes](day-8/#el-vault-en-el-contexto-de-kubernetes) + - [Instalación y Configuración de Vault en Kubernetes](day-8/#instalación-y-configuración-de-vault-en-kubernetes) + - [Requisitos Previos](day-8/#requisitos-previos) + - [Instalando y Configurando Vault con Helm](day-8/#instalando-y-configurando-vault-con-helm) + - [Agregar el Repositorio del Operador de Secretos Externos a Helm](day-8/#agregar-el-repositorio-del-operador-de-secretos-externos-a-helm) + - [Instalando el Operador de Secretos Externos](day-8/#instalando-el-operador-de-secretos-externos) + - [Verificación de la Instalación de ESO](day-8/#verificación-de-la-instalación-de-eso) + - [Creación de un Secreto en Kubernetes](day-8/#creación-de-un-secreto-en-kubernetes) + - [Configuración del ClusterSecretStore](day-8/#configuración-del-clustersecretstore) + - [Creación de un ExternalSecret](day-8/#creación-de-un-externalsecret) + - [Final del Día 8](day-8/#final-del-día-8) + + 
DAY-9 -TO DO + +- [Simplificando Kubernetes](day-9/#simplificando-kubernetes) + - [DÍA 9](day-9/#día-9) + - [¿Qué veremos hoy?](day-9/#qué-veremos-hoy) + - [Contenido del Día 9](day-9/#contenido-del-día-9) +- [¿Qué es Ingress?](day-9/#qué-es-ingress) +- [Componentes de Ingress](day-9/#componentes-de-ingress) + - [Componentes Clave](day-9/#componentes-clave) + - [Ingress Controller](day-9/#ingress-controller) + - [Ingress Resources](day-9/#ingress-resources) + - [Anotaciones y Personalizaciones](day-9/#anotaciones-y-personalizaciones) + - [Instalación del Nginx Ingress Controller](day-9/#instalación-del-nginx-ingress-controller) + - [Instalación del Ingress Controller Nginx en Kind](day-9/#instalación-del-ingress-controller-nginx-en-kind) + - [Creación del Clúster con Configuraciones Especiales](day-9/#creación-del-clúster-con-configuraciones-especiales) + - [Instalación de un Ingress Controller](day-9/#instalación-de-un-ingress-controller) + - [Instalación de Giropops-Senhas en el Cluster](day-9/#instalación-de-giropops-senhas-en-el-cluster) + - [Creación de un Recurso de Ingress](day-9/#creación-de-un-recurso-de-ingress) +- [TBD (Por determinar)](day-9/#tbd-por-determinar) + + 
@@ -246,22 +302,172 @@ TO DO
DAY-11 -TO DO + +- [Simplificando Kubernetes](day-11/#simplificando-kubernetes) + - [Día 11](day-11/#día-11) + - [Contenido del Día 11](day-11/#contenido-del-día-11) + - [Comienzo de la lección del Día 11](day-11/#comienzo-de-la-lección-del-día-11) + - [¿Qué veremos hoy?](day-11/#qué-veremos-hoy) + - [Introducción al Escalador Automático de Pods Horizontales (HPA)](day-11/#introducción-al-escalador-automático-de-pods-horizontales-hpa) + - [¿Cómo funciona el HPA?](day-11/#cómo-funciona-el-hpa) + - [Introducción al Metrics Server](day-11/#introducción-al-metrics-server) + - [¿Por qué es importante el Metrics Server para el HPA?](day-11/#por-qué-es-importante-el-metrics-server-para-el-hpa) + - [Instalación del Metrics Server](day-11/#instalación-del-metrics-server) + - [En Amazon EKS y la mayoría de los clústeres Kubernetes](day-11/#en-amazon-eks-y-la-mayoría-de-los-clústeres-kubernetes) + - [En Minikube](day-11/#en-minikube) + - [En KinD (Kubernetes in Docker)](day-11/#en-kind-kubernetes-in-docker) + - [Verificando la Instalación del Metrics Server](day-11/#verificando-la-instalación-del-metrics-server) + - [Obteniendo Métricas](day-11/#obteniendo-métricas) + - [Creando un HPA](day-11/#creando-un-hpa) + - [Ejemplos Prácticos con HPA](day-11/#ejemplos-prácticos-con-hpa) + - [Escalado automático basado en el uso de CPU](day-11/#escalado-automático-basado-en-el-uso-de-cpu) + - [Escalado automático basado en el uso de Memoria](day-11/#escalado-automático-basado-en-el-uso-de-memoria) + - [Configuración Avanzada de HPA: Definición del Comportamiento de Escalado](day-11/#configuración-avanzada-de-hpa-definición-del-comportamiento-de-escalado) + - [ContainerResource](day-11/#containerresource) + - [Detalles del Algoritmo de Escalado](day-11/#detalles-del-algoritmo-de-escalado) + - [Configuraciones Avanzadas y Uso Práctico](day-11/#configuraciones-avanzadas-y-uso-práctico) + - [Integración del HPA con Prometheus para Métricas Personalizadas](day-11/#integración-del-hpa-con-prometheus-para-métricas-personalizadas) + - [Tu Tarea](day-11/#tu-tarea) + - [Fin del Día 11](day-11/#fin-del-día-11) + + 
-TO DO +
DAY-12 -TO DO + +- [Simplificando Kubernetes](day-12/#simplificando-kubernetes) + - [Día 12: Dominando Taints y Tolerations](day-12/#día-12-dominando-taints-y-tolerations) + - [Contenido del Día 12](day-12/#contenido-del-día-12) + - [Introducción](day-12/#introducción) + - [¿Qué son Taints y Tolerations?](day-12/#qué-son-taints-y-tolerations) + - [¿Por qué usar Taints y Tolerations?](day-12/#por-qué-usar-taints-y-tolerations) + - [Anatomía de un Taint](day-12/#anatomía-de-un-taint) + - [Anatomía de una Tolerations](day-12/#anatomía-de-una-tolerations) + - [Aplicación de Taints](day-12/#aplicación-de-taints) + - [Configuración de Tolerations](day-12/#configuración-de-tolerations) + - [Escenarios de Uso](day-12/#escenarios-de-uso) + - [Aislamiento de Cargas de Trabajo](day-12/#aislamiento-de-cargas-de-trabajo) + - [Nodos Especializados](day-12/#nodos-especializados) + - [Toleration en un Pod que Requiere GPU:](day-12/#toleration-en-un-pod-que-requiere-gpu) + - [Evacuación y Mantenimiento de Nodos](day-12/#evacuación-y-mantenimiento-de-nodos) + - [Combinando Taints y Tolerations con Reglas de Afinidad](day-12/#combinando-taints-y-tolerations-con-reglas-de-afinidad) + - [Ejemplos Prácticos](day-12/#ejemplos-prácticos) + - [Ejemplo 1: Aislamiento de Cargas de Trabajo](day-12/#ejemplo-1-aislamiento-de-cargas-de-trabajo) + - [Ejemplo 2: Utilización de Hardware Especializado](day-12/#ejemplo-2-utilización-de-hardware-especializado) + - [Ejemplo 3: Mantenimiento de Nodos](day-12/#ejemplo-3-mantenimiento-de-nodos) + - [Conclusión](day-12/#conclusión) + - [Tareas del Día](day-12/#tareas-del-día) + - [DÍA 12+1: Comprendiendo y Dominando los Selectores](day-12/#día-121-comprendiendo-y-dominando-los-selectores) + - [Introducción 12+1](day-12/#introducción-121) + - [¿Qué son los Selectors?](day-12/#qué-son-los-selectors) + - [Tipos de Selectors](day-12/#tipos-de-selectors) + - [Equality-based Selectors](day-12/#equality-based-selectors) + - [Set-based Selectors](day-12/#set-based-selectors) + - [Selectors en acción](day-12/#selectors-en-acción) + - [En Services](day-12/#en-services) + - [En ReplicaSets](day-12/#en-replicasets) + - [En Jobs y CronJobs](day-12/#en-jobs-y-cronjobs) + - [Selectores y Namespaces](day-12/#selectores-y-namespaces) + - [Escenarios de uso](day-12/#escenarios-de-uso-1) + - [Enrutamiento de tráfico](day-12/#enrutamiento-de-tráfico) + - [Escalado horizontal](day-12/#escalado-horizontal) + - [Desastre y recuperación](day-12/#desastre-y-recuperación) + - [Consejos y trampas](day-12/#consejos-y-trampas) + - [Ejemplos prácticos](day-12/#ejemplos-prácticos-1) + - [Ejemplo 1: Selector en un Service](day-12/#ejemplo-1-selector-en-un-service) + - [Ejemplo 2: Selector en un ReplicaSet](day-12/#ejemplo-2-selector-en-un-replicaset) + - [Ejemplo 3: Selectors avanzados](day-12/#ejemplo-3-selectors-avanzados) + - [Conclusión 12+1](day-12/#conclusión-121) +
-TO DO +
DAY-13 -TO DO + +- [Simplificando Kubernetes](day-13/#simplificando-kubernetes) + - [Día 13: Simplificando Kyverno y las Policies en Kubernetes](day-13/#día-13-simplificando-kyverno-y-las-policies-en-kubernetes) + - [Contenido del Día 13](day-13/#contenido-del-día-13) + - [¿Qué veremos hoy?](day-13/#qué-veremos-hoy) + - [Comienzo del Día 13](day-13/#comienzo-del-día-13) + - [Introducción a Kyverno](day-13/#introducción-a-kyverno) + - [Instalación de Kyverno](day-13/#instalación-de-kyverno) + - [Usando Helm](day-13/#usando-helm) + - [Verificación de la Instalación](day-13/#verificación-de-la-instalación) + - [Creación de nuestra primera política](day-13/#creación-de-nuestra-primera-política) + - [Ejemplo de Política: Agregar Etiqueta al Namespace](day-13/#ejemplo-de-política-agregar-etiqueta-al-namespace) + - [Detalles de la Política: Agregar Etiqueta al Namespace](day-13/#detalles-de-la-política-agregar-etiqueta-al-namespace) + - [Archivo de Política: `add-label-namespace.yaml`](day-13/#archivo-de-política-add-label-namespaceyaml) + - [Uso de la Política: Agregar Etiqueta al Namespace](day-13/#uso-de-la-política-agregar-etiqueta-al-namespace) + - [Ejemplo de Política: Prohibir Usuario Root](day-13/#ejemplo-de-política-prohibir-usuario-root) + - [Detalles de la Política: Prohibir Usuario Root](day-13/#detalles-de-la-política-prohibir-usuario-root) + - [Archivo de la Política: `disallow-root-user.yaml`](day-13/#archivo-de-la-política-disallow-root-useryaml) + - [Implementación y Efecto](day-13/#implementación-y-efecto) + - [Ejemplo de Política: Generar ConfigMap para Namespace](day-13/#ejemplo-de-política-generar-configmap-para-namespace) + - [Detalles de la Política: Generar ConfigMap para Namespace](day-13/#detalles-de-la-política-generar-configmap-para-namespace) + - [Archivo de Política: `generar-configmap-para-namespace.yaml`](day-13/#archivo-de-política-generar-configmap-para-namespaceyaml) + - [Implementación y Utilidad](day-13/#implementación-y-utilidad) + - [Ejemplo de Política: Permitir Solo Repositorios de Confianza](day-13/#ejemplo-de-política-permitir-solo-repositorios-de-confianza) + - [Detalles de la Política: Permitir Solo Repositorios de Confianza](day-13/#detalles-de-la-política-permitir-solo-repositorios-de-confianza) + - [Archivo de Política: `repositorio-permitido.yaml`](day-13/#archivo-de-política-repositorio-permitidoyaml) + - [Implementación e Impacto](day-13/#implementación-e-impacto) + - [Ejemplo de Política: Require Probes](day-13/#ejemplo-de-política-require-probes) + - [Detalles de la Política: Require Probes](day-13/#detalles-de-la-política-require-probes) + - [Archivo de Política: `require-probes.yaml`](day-13/#archivo-de-política-require-probesyaml) + - [Implementación e Impacto: Require Probes](day-13/#implementación-e-impacto-require-probes) + - [Ejemplo de Política: Uso del Exclude](day-13/#ejemplo-de-política-uso-del-exclude) + - [Detalles de la Política: Uso del Exclude](day-13/#detalles-de-la-política-uso-del-exclude) + - [Archivo de Política](day-13/#archivo-de-política) + - [Implementación y Efectos: Uso del Exclude](day-13/#implementación-y-efectos-uso-del-exclude) + - [Conclusión](day-13/#conclusión) + - [Puntos Clave Aprendidos](day-13/#puntos-clave-aprendidos) +
-TO DO +
DAY-14 -TO DO + +- [Simplificando Kubernetes](day-14/#simplificando-kubernetes) + - [Día 14: Network Policies no Kubernetes](day-14/#día-14-network-policies-no-kubernetes) + - [Contenido del Día 14](day-14/#contenido-del-día-14) + - [Lo que veremos hoy](day-14/#lo-que-veremos-hoy) + - [¿Qué son las Network Policies?](day-14/#qué-son-las-network-policies) + - [¿Para qué sirven las Network Policies?](day-14/#para-qué-sirven-las-network-policies) + - [Conceptos Fundamentales: Ingress y Egress](day-14/#conceptos-fundamentales-ingress-y-egress) + - [¿Cómo funcionan las Network Policies?](day-14/#cómo-funcionan-las-network-policies) + - [Aún no es estándar](day-14/#aún-no-es-estándar) + - [Creación de un clúster EKS con Network Policies](day-14/#creación-de-un-clúster-eks-con-network-policies) + - [Instalación de EKSCTL](day-14/#instalación-de-eksctl) + - [Instalación de AWS CLI](day-14/#instalación-de-aws-cli) + - [Creación del Cluster EKS](day-14/#creación-del-cluster-eks) + - [Instalando el complemento AWS VPC CNI](day-14/#instalando-el-complemento-aws-vpc-cni) + - [Habilitación de Network Policy en las Configuraciones Avanzadas del CNI](day-14/#habilitación-de-network-policy-en-las-configuraciones-avanzadas-del-cni) + - [Instalación del Controlador de Ingress Nginx](day-14/#instalación-del-controlador-de-ingress-nginx) + - [Instalando un Controlador de Ingress Nginx](day-14/#instalando-un-controlador-de-ingress-nginx) + - [Nuestra Aplicación de Ejemplo](day-14/#nuestra-aplicación-de-ejemplo) + - [Creación de Reglas de Política de Red](day-14/#creación-de-reglas-de-política-de-red) + - [Ingress](day-14/#ingress) + - [Egress](day-14/#egress) + +
+ +
+DAY-15 + +- [Simplificando Kubernetes](day-15/#simplificando-kubernetes) + - [Día 15: Descomplicando RBAC e controle de acesso no Kubernetes](day-15/#día-15-descomplicando-rbac-e-controle-de-acesso-no-kubernetes) + - [Contenido del Día 15](day-15/#contenido-del-día-15) +- [¿Qué vamos a aprender hoy?](day-15/#qué-vamos-a-aprender-hoy) +- [RBAC](day-15/#rbac) + - [¿Qué es RBAC?](day-15/#qué-es-rbac) + - [Primer ejemplo de RBAC](day-15/#primer-ejemplo-de-rbac) + - [Creación de un Usuario para Acceso al clúster](day-15/#creación-de-un-usuario-para-acceso-al-clúster) + - [Creando un Rol para nuestro usuario](day-15/#creando-un-rol-para-nuestro-usuario) + - [apiGroups](day-15/#apigroups) + - [Verbos](day-15/#verbos) + - [Agregando el certificado del usuario al kubeconfig](day-15/#agregando-el-certificado-del-usuario-al-kubeconfig) + - [Accediendo al clúster con el nuevo usuario](day-15/#accediendo-al-clúster-con-el-nuevo-usuario) + -
  diff --git a/es/day-14/README.md b/es/day-14/README.md new file mode 100644 index 00000000..05e00b2c --- /dev/null +++ b/es/day-14/README.md @@ -0,0 +1,1067 @@ +# Simplificando Kubernetes + +## Día 14: Network Policies no Kubernetes + +## Contenido del Día 14 + +- [Simplificando Kubernetes](#simplificando-kubernetes) + - [Día 14: Network Policies no Kubernetes](#día-14-network-policies-no-kubernetes) + - [Contenido del Día 14](#contenido-del-día-14) + - [Lo que veremos hoy](#lo-que-veremos-hoy) + - [¿Qué son las Network Policies?](#qué-son-las-network-policies) + - [¿Para qué sirven las Network Policies?](#para-qué-sirven-las-network-policies) + - [Conceptos Fundamentales: Ingress y Egress](#conceptos-fundamentales-ingress-y-egress) + - [¿Cómo funcionan las Network Policies?](#cómo-funcionan-las-network-policies) + - [Aún no es estándar](#aún-no-es-estándar) + - [Creación de un clúster EKS con Network Policies](#creación-de-un-clúster-eks-con-network-policies) + - [Instalación de EKSCTL](#instalación-de-eksctl) + - [Instalación de AWS CLI](#instalación-de-aws-cli) + - [Creación del Cluster EKS](#creación-del-cluster-eks) + - [Instalando el complemento AWS VPC CNI](#instalando-el-complemento-aws-vpc-cni) + - [Habilitación de Network Policy en las Configuraciones Avanzadas del CNI](#habilitación-de-network-policy-en-las-configuraciones-avanzadas-del-cni) + - [Instalación del Controlador de Ingress Nginx](#instalación-del-controlador-de-ingress-nginx) + - [Instalando un Controlador de Ingress Nginx](#instalando-un-controlador-de-ingress-nginx) + - [Nuestra Aplicación de Ejemplo](#nuestra-aplicación-de-ejemplo) + - [Creación de Reglas de Política de Red](#creación-de-reglas-de-política-de-red) + - [Ingress](#ingress) + - [Egress](#egress) + +## Lo que veremos hoy + +Hoy dedicaremos nuestro tiempo a comprender el mundo de las Network Policies en Kubernetes. Esta es una herramienta esencial para la seguridad y la gestión efectiva de la comunicación entre los Pods en un clúster de Kubernetes. Aprenderemos cómo funcionan las Network Policies, sus aplicaciones prácticas y cómo puede implementarlas para proteger sus aplicaciones en Kubernetes. Seguro que será un día lleno de contenido y aprendizaje. ¡Vamos allá! + +### ¿Qué son las Network Policies? + +En Kubernetes, una Network Policy es un conjunto de reglas que define cómo los Pods pueden comunicarse entre sí y con otros puntos finales de la red. Por defecto, los Pods en un clúster de Kubernetes pueden comunicarse libremente entre sí, lo que puede no ser ideal para todos los escenarios. Las Network Policies le permiten restringir este acceso, asegurando que solo el tráfico permitido pueda fluir entre los Pods o hacia/desde direcciones IP externas. + +#### ¿Para qué sirven las Network Policies? + +Las Network Policies se utilizan para: + +- **Aislar** los Pods del tráfico no autorizado. +- **Controlar** el acceso a servicios específicos. +- **Implementar** estándares de seguridad y cumplimiento. + +#### Conceptos Fundamentales: Ingress y Egress + +- **Ingress**: Las reglas de ingreso controlan el tráfico de entrada a un Pod. +- **Egress**: Las reglas de egreso controlan el tráfico de salida de un Pod. + +Comprender estos conceptos es fundamental para entender cómo funcionan las Network Policies, ya que deberá especificar si una regla se aplica al tráfico de entrada o de salida. + +#### ¿Cómo funcionan las Network Policies? + +Las Network Policies utilizan `SELECTORS` para identificar grupos de Pods y establecer reglas de tráfico para ellos. La política puede especificar: + +- **Ingress (entrada)**: qué Pods o direcciones IP pueden conectarse a los Pods seleccionados. +- **Egress (salida)**: a qué Pods o direcciones IP pueden conectarse los Pods seleccionados. + +#### Aún no es estándar + +Desafortunadamente, las Network Policies aún no son una característica estándar en todos los clústeres de Kubernetes. Recientemente, AWS anunció el soporte de Network Policies en EKS, pero aún no es una característica estándar. Para usar Network Policies en EKS, debe instalar el CNI de AWS y luego habilitar Network Policy en la configuración avanzada del CNI. + +Para verificar si su clúster admite Network Policies, puede ejecutar el siguiente comando: + +```bash +kubectl api-versions | grep networking +``` + +Si recibe el mensaje `networking.k8s.io/v1`, significa que su clúster admite Network Policies. Si recibe el mensaje `networking.k8s.io/v1beta1`, significa que su clúster no admite Network Policies. + +Si su clúster no admite Network Policies, puede utilizar Calico para implementar Network Policies en su clúster. Para hacerlo, debe instalar Calico en su clúster. Puede encontrar más información sobre Calico [aquí](https://docs.projectcalico.org/getting-started/kubernetes/). + +Otros CNIs que admiten Network Policies son Weave Net y Cilium, entre otros. + +#### Creación de un clúster EKS con Network Policies + +Supongo que, a estas alturas de la formación, ya sabe lo que es un clúster EKS, ¿verdad? + +Pero aún así, haré una breve presentación solo para refrescar su memoria o ayudar a quienes acaban de unirse aquí. Hahaha. + +EKS es Kubernetes gestionado por AWS, pero, ¿qué significa eso? + +Cuando hablamos de clústeres Kubernetes gestionados, nos referimos a que no tendremos que preocuparnos por la instalación y configuración de Kubernetes, ya que AWS se encargará de ello. Solo necesitaremos crear nuestro clúster y gestionar nuestras aplicaciones. + +Como ya sabe, tenemos dos tipos de nodos, los nodos del plano de control y los nodos trabajadores. En EKS, los nodos del plano de control son gestionados por AWS, es decir, no tendremos que preocuparnos por ellos. En cuanto a los trabajadores, en la mayoría de los casos, deberemos crearlos y gestionarlos nosotros mismos. + +Antes de empezar, entendamos los tres tipos de clústeres EKS que podemos tener: + +- **Grupos de nodos administrados**: en este tipo de clúster, los nodos trabajadores son gestionados por AWS, es decir, no tendremos que preocuparnos por ellos. AWS creará y gestionará los nodos trabajadores para nosotros. Este tipo de clúster es ideal para quienes no desean preocuparse por la administración de los nodos trabajadores. +- **Grupos de nodos autoadministrados**: en este tipo de clúster, los nodos trabajadores son gestionados por nosotros, lo que significa que deberemos crearlos y gestionarlos. Este tipo de clúster es ideal para quienes desean tener un control total sobre los nodos trabajadores. +- **Fargate**: en este tipo de clúster, los nodos trabajadores son gestionados por AWS, pero no tendremos que preocuparnos por ellos, ya que AWS creará y gestionará los nodos trabajadores para nosotros. Este tipo de clúster es ideal para quienes no desean preocuparse por la administración de los nodos trabajadores, pero tampoco quieren preocuparse por crearlos y gestionarlos. + +Claramente, cada tipo tiene sus ventajas y desventajas, y debe analizar su situación para elegir el tipo de clúster que mejor se adapte a sus necesidades. + +En la mayoría de los casos de entornos de producción, optaremos por el tipo de "Grupos de nodos autoadministrados", ya que de esta manera tendremos un control total sobre los nodos trabajadores, pudiendo personalizarlos y gestionarlos de la manera que consideremos mejor. Ahora bien, si no desea preocuparse por la administración de los nodos trabajadores, puede optar por "Grupos de nodos administrados" o "Fargate". + +Cuando optamos por "Fargate", debemos tener en cuenta que no tendremos acceso a los nodos trabajadores, ya que son gestionados por AWS. Esto significa menos libertad y recursos, pero también menos preocupación y menos trabajo en la administración de los nodos trabajadores. + +Para nuestro ejemplo, elegiremos el tipo de "Grupos de nodos administrados", ya que de esta manera no tendremos que preocuparnos por la administración de los nodos trabajadores. Sin embargo, recuerde que puede elegir el tipo que mejor se adapte a sus necesidades. + +Para crear el clúster, utilizaremos EKSCTL, que es una herramienta de línea de comandos que nos ayuda a crear y gestionar clústeres EKS. Puede encontrar más información sobre EKSCTL [aquí](https://eksctl.io/). + +Se ha convertido en una de las formas oficiales de crear y gestionar clústeres EKS y es la herramienta que más utilizo para ello. De hecho, creo que es la herramienta más utilizada para crear clústeres EKS cuando no estamos utilizando una herramienta de infraestructura como código (IaC) como Terraform, por ejemplo. + +#### Instalación de EKSCTL + +Para instalar EKSCTL, puede seguir las instrucciones [aquí](https://eksctl.io/installation/). + +Está disponible para Linux, MacOS y Windows. También es posible ejecutarlo en un contenedor Docker. + +En nuestro ejemplo, vamos a utilizar Linux, ¡por supuesto! jajaja + +Para instalar EKSCTL en Linux, puede ejecutar el siguiente comando: + +```bash +# for ARM systems, set ARCH to: `arm64`, `armv6` or `armv7` +ARCH=amd64 +PLATFORM=$(uname -s)_$ARCH + +curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz" + +# (Optional) Verify checksum +curl -sL "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_checksums.txt" | grep $PLATFORM | sha256sum --check + +tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz + +sudo mv /tmp/eksctl /usr/local/bin +``` + +Literalmente copié y pegué el comando anterior del sitio web de EKSCTL, así que no hay margen de error. Sin embargo, recuerde siempre consultar el sitio oficial para asegurarse de que no haya habido cambios. + +Aquí estamos haciendo lo siguiente: + +- Definiendo la arquitectura de nuestro sistema, en mi caso, `amd64`. Puede verificar la arquitectura de su sistema ejecutando el comando `uname -m`. +- Definiendo la plataforma de nuestro sistema, en mi caso, `Linux_amd64`. +- Descargando el binario de EKSCTL. +- Descomprimiendo el binario de EKSCTL. +- Moviendo el binario de EKSCTL al directorio `/usr/local/bin`. + +Validación de la instalación de EKSCTL: + +```bash +eksctl version +``` + +La salida debe ser algo similar a esto: + +```bash +0.169.0 +``` + +Esta es la versión de EKSCTL que estamos utilizando en el momento de la creación de este curso, pero es posible que esté utilizando una versión más reciente. + +#### Instalación de AWS CLI + +Ahora que tenemos EKSCTL instalado, necesitamos tener AWS CLI instalado y configurado, ya que EKSCTL utiliza AWS CLI para comunicarse con AWS. Puede encontrar más información sobre AWS CLI [aquí](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html). + +AWS CLI es una herramienta de línea de comandos que nos ayuda a interactuar con los servicios de AWS. Es muy poderosa y una de las herramientas más utilizadas para interactuar con los servicios de AWS. + +Aquí están los comandos para instalar AWS CLI en Linux, pero recuerde que siempre es bueno consultar el sitio web oficial para verificar si ha habido algún cambio. + +```bash +curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" +unzip awscliv2.zip +sudo ./aws/install +``` + +Validación de la instalación de AWS CLI: + +```bash +aws --version +``` + +En mi caso, la versión que estoy utilizando es la siguiente: + +```bash +aws-cli/2.15.10 Python/3.11.6 Linux/6.5.0-14-generic exe/x86_64.zorin.17 prompt/off +``` + +Ahora que tenemos AWS CLI instalado, necesitamos configurar AWS CLI. Para hacerlo, puede ejecutar el siguiente comando: + +```bash +aws configure +``` + +Aquí deberá proporcionar sus credenciales de AWS, que puede encontrar [aquí](https://console.aws.amazon.com/iam/home?#/security_credentials). + +La información que debe proporcionar incluye: + +- AWS Access Key ID +- AWS Secret Access Key +- Default region name +- Default output format + +Su Access Key ID y Secret Access Key se pueden encontrar [aquí](https://console.aws.amazon.com/iam/home?#/security_credentials). Luego, la región es a su elección; yo usaré la región `us-east-1`, pero puede elegir la región que prefiera. Finalmente, el formato de salida, yo usaré el formato `json`, pero puede elegir otra opción, como `text`, por ejemplo. + +##### Creación del Cluster EKS + +Ahora que tenemos AWS CLI instalado y configurado, podemos crear nuestro cluster EKS. + +Podemos crearlo solo a través de la línea de comandos o podemos crear un archivo de configuración para facilitar la creación del cluster. + +Primero proporcionaré el comando que utilizaremos y luego explicaré lo que estamos haciendo y proporcionaré el archivo de configuración. + +```bash +eksctl create cluster --name=eks-cluster --version=1.28 --region=us-east-1 --nodegroup-name=eks-cluster-nodegroup --node-type=t3.medium --nodes=2 --nodes-min=1 --nodes-max=3 --managed +``` + +Aquí estamos haciendo lo siguiente: + +- `eksctl create cluster`: Comando para crear el cluster. +- `--name`: Nombre del cluster. +- `--version`: Versión de Kubernetes que utilizaremos, en mi caso, `1.28`. +- `--region`: Región donde se creará el cluster, en mi caso, `us-east-1`. +- `--nodegroup-name`: Nombre del grupo de nodos. +- `--node-type`: Tipo de instancia que utilizaremos para los nodos workers, en mi caso, `t3.medium`. +- `--nodes`: Cantidad de nodos workers que crearemos, en mi caso, `2`. +- `--nodes-min`: Cantidad mínima de nodos workers que crearemos, en mi caso, `1`. +- `--nodes-max`: Cantidad máxima de nodos workers que crearemos, en mi caso, `3`. +- `--managed`: Tipo de grupo de nodos que utilizaremos, en mi caso, `managed`. + +La salida del comando debería verse algo como esto: + + +```bash +2024-01-26 16:12:39 [ℹ] eksctl version 0.168.0 +2024-01-26 16:12:39 [ℹ] using region us-east-1 +2024-01-26 16:12:40 [ℹ] skipping us-east-1e from selection because it doesn't support the following instance type(s): t3.medium +2024-01-26 16:12:40 [ℹ] setting availability zones to [us-east-1c us-east-1d] +2024-01-26 16:12:40 [ℹ] subnets for us-east-1c - public:192.168.0.0/19 private:192.168.64.0/19 +2024-01-26 16:12:40 [ℹ] subnets for us-east-1d - public:192.168.32.0/19 private:192.168.96.0/19 +2024-01-26 16:12:40 [ℹ] nodegroup "eks-cluster-nodegroup" will use "" [AmazonLinux2/1.28] +2024-01-26 16:12:40 [ℹ] using Kubernetes version 1.28 +2024-01-26 16:12:40 [ℹ] creating EKS cluster "eks-cluster" in "us-east-1" region with managed nodes +2024-01-26 16:12:40 [ℹ] will create 2 separate CloudFormation stacks for cluster itself and the initial managed nodegroup +2024-01-26 16:12:40 [ℹ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-east-1 --cluster=eks-cluster' +2024-01-26 16:12:40 [ℹ] Kubernetes API endpoint access will use default of {publicAccess=true, privateAccess=false} for cluster "eks-cluster" in "us-east-1" +2024-01-26 16:12:40 [ℹ] CloudWatch logging will not be enabled for cluster "eks-cluster" in "us-east-1" +2024-01-26 16:12:40 [ℹ] you can enable it with 'eksctl utils update-cluster-logging --enable-types={SPECIFY-YOUR-LOG-TYPES-HERE (e.g. all)} --region=us-east-1 --cluster=eks-cluster' +2024-01-26 16:12:40 [ℹ] +2 sequential tasks: { create cluster control plane "eks-cluster", + 2 sequential sub-tasks: { + wait for control plane to become ready, + create managed nodegroup "eks-cluster-nodegroup", + } +} +2024-01-26 16:12:40 [ℹ] building cluster stack "eksctl-eks-cluster-cluster" +2024-01-26 16:12:40 [ℹ] deploying stack "eksctl-eks-cluster-cluster" +2024-01-26 16:13:10 [ℹ] waiting for CloudFormation stack "eksctl-eks-cluster-cluster" +2024-01-26 16:13:41 [ℹ] waiting for CloudFormation stack "eksctl-eks-cluster-cluster" +2024-01-26 16:14:41 [ℹ] waiting for CloudFormation stack "eksctl-eks-cluster-cluster" +2024-01-26 16:24:48 [ℹ] building managed nodegroup stack "eksctl-eks-cluster-nodegroup-eks-cluster-nodegroup" +2024-01-26 16:24:49 [ℹ] deploying stack "eksctl-eks-cluster-nodegroup-eks-cluster-nodegroup" +2024-01-26 16:24:49 [ℹ] waiting for CloudFormation stack "eksctl-eks-cluster-nodegroup-eks-cluster-nodegroup" +2024-01-26 16:27:40 [ℹ] waiting for the control plane to become ready +2024-01-26 16:27:40 [✔] saved kubeconfig as "/home/jeferson/.kube/config" +2024-01-26 16:27:40 [ℹ] no tasks +2024-01-26 16:27:40 [✔] all EKS cluster resources for "eks-cluster" have been created +2024-01-26 16:27:41 [ℹ] nodegroup "eks-cluster-nodegroup" has 2 node(s) +2024-01-26 16:27:41 [ℹ] node "ip-192-168-55-232.ec2.internal" is ready +2024-01-26 16:27:41 [ℹ] node "ip-192-168-7-245.ec2.internal" is ready +2024-01-26 16:27:41 [ℹ] waiting for at least 1 node(s) to become ready in "eks-cluster-nodegroup" +2024-01-26 16:27:41 [ℹ] nodegroup "eks-cluster-nodegroup" has 2 node(s) +2024-01-26 16:27:41 [ℹ] node "ip-192-168-55-232.ec2.internal" is ready +2024-01-26 16:27:41 [ℹ] node "ip-192-168-7-245.ec2.internal" is ready +2024-01-26 16:27:42 [ℹ] kubectl command should work with "/home/jeferson/.kube/config", try 'kubectl get nodes' +2024-01-26 16:27:42 [✔] EKS cluster "eks-cluster" in "us-east-1" region is ready +``` + +¡Cluster de EKS creado con éxito! :D + +Para visualizar nuestro cluster, podemos ejecutar el siguiente comando: + +```bash +kubectl get nodes +``` + +La salida debería verse algo como esto: + +```bash +ip-192-168-22-217.ec2.internal Ready 20m v1.28.5-eks-5e0fdde +ip-192-168-50-0.ec2.internal Ready 20m v1.28.5-eks-5e0fdde +``` + +Ahora, vamos a crear un archivo de configuración para EKSCTL que facilitará la creación del cluster la próxima vez. Para hacerlo, vamos a crear un archivo llamado `eksctl.yaml` y agregar el siguiente contenido: + +```yaml +apiVersion: eksctl.io/v1alpha5 # Versión de la API de EKSCTL +kind: ClusterConfig # Tipo de recurso que estamos creando + +metadata: # Metadatos del recurso + name: eks-cluster # Nombre del cluster + region: us-east-1 # Región donde se creará el cluster + +managedNodeGroups: # Grupos de nodos que se crearán, estamos utilizando el tipo Managed Node Groups +- name: eks-cluster-nodegroup # Nombre del grupo de nodos + instanceType: t3.medium # Tipo de instancia que utilizaremos para los nodos workers + desiredCapacity: 2 # Cantidad de nodos workers que crearemos + minSize: 1 # Cantidad mínima de nodos workers que crearemos + maxSize: 3 # Cantidad máxima de nodos workers que crearemos +``` + +Como puedes ver, estamos creando un cluster EKS con la misma configuración que utilizamos anteriormente, pero ahora estamos utilizando un archivo de configuración para hacerlo más fácil y ordenado. :D + +Para crear el cluster utilizando el archivo de configuración, puedes ejecutar el siguiente comando: + +```bash +eksctl create cluster -f eksctl.yaml +``` + +La salida debería ser similar a la que obtuvimos anteriormente, no hay nada nuevo que agregar aquí. + +Ahora que tenemos nuestro cluster de EKS creado, vamos a instalar el CNI de AWS y habilitar la Network Policy en la configuración avanzada del CNI. + +##### Instalando el complemento AWS VPC CNI + +El complemento AWS VPC CNI es un complemento de red que permite que los Pods se comuniquen entre sí y con los servicios dentro del clúster. También permite que los Pods se comuniquen con servicios fuera del clúster, como Amazon S3, por ejemplo. + +Usaremos EKSCTL para instalar el complemento AWS VPC CNI. Para hacerlo, puedes ejecutar el siguiente comando: + +```bash +eksctl create addon --name vpc-cni --version v1.16.0-eksbuild.1 --cluster eks-cluster --force +``` + +Recuerda que debes reemplazar el nombre del clúster y la versión del CNI por la versión de tu clúster. + +Puedes consultar el enlace a continuación para verificar la versión del CNI que debes usar: + +https://docs.aws.amazon.com/eks/latest/userguide/managing-vpc-cni.html + +Debes elegir la versión del CNI de acuerdo con la versión de Kubernetes que estás utilizando, así que tenlo en cuenta. + +Bueno, volviendo al comando, lo que estamos haciendo aquí es lo siguiente: + +- `eksctl create addon`: Comando para instalar un complemento en el clúster. +- `--name`: Nombre del complemento. +- `--version`: Versión del complemento. +- `--cluster`: Nombre del clúster. +- `--force`: Forzar la instalación del complemento. + +La salida debería verse algo como esto: + +```bash +2024-01-28 14:12:44 [!] no IAM OIDC provider associated with cluster, try 'eksctl utils associate-iam-oidc-provider --region=us-east-1 --cluster=eks-cluster' +2024-01-28 14:12:44 [ℹ] Kubernetes version "1.28" in use by cluster "eks-cluster" +2024-01-28 14:12:44 [!] OIDC is disabled but policies are required/specified for this addon. Users are responsible for attaching the policies to all nodegroup roles +2024-01-28 14:12:45 [ℹ] creating addon +2024-01-28 14:13:49 [ℹ] addon "vpc-cni" active +``` + +A pesar de ser el CNI predeterminado de EKS, no se instala por defecto, por lo que debemos instalarlo manualmente. + +Si deseas ver los complementos instalados en tu clúster, puedes ejecutar el siguiente comando: + +```bash +eksctl get addon --cluster eks-cluster +``` + +La salida debería verse algo como esto: + +```bash +2024-01-28 14:16:44 [ℹ] Kubernetes version "1.28" in use by cluster "eks-cluster" +2024-01-28 14:16:44 [ℹ] getting all addons +2024-01-28 14:16:45 [ℹ] to see issues for an addon run `eksctl get addon --name --cluster ` +NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE CONFIGURATION VALUES +vpc-cni v1.16.0-eksbuild.1 ACTIVE 0 v1.16.2-eksbuild.1 +``` + +O puedes acceder a la consola de AWS y verificar los complementos instalados en tu clúster, como se muestra en la siguiente imagen: + +![Imagen](images/image-1.png?raw=true "EKS Cluster") + +¡Listo, el CNI se ha instalado con éxito! :D + +##### Habilitación de Network Policy en las Configuraciones Avanzadas del CNI + +Ahora que tenemos el CNI de AWS instalado, debemos habilitar la Network Policy en las configuraciones avanzadas del CNI. Para hacerlo, debemos acceder a la consola de AWS y seguir los siguientes pasos: + +- Acceder a la consola de AWS. +- Acceder al servicio EKS. +- Seleccionar su clúster. +- Seleccionar la pestaña `Add-ons` (Complementos). +- Hacer clic en Edit en el Addon `vpc-cni`. +- Configuración Avanzada del CNI. +- Habilitar el Network Policy. + +![Alt text](images/image-2.png?raw=true "Clúster de EKS") + +Después de algunos minutos, puede volver a acceder al Addon `vpc-cni` y verificar si la Network Policy está habilitada y actualizada con el Network Policy habilitado. + +![Alt text](images/image-3.png?raw=true "Clúster de EKS") + +¡Listo, el clúster está configurado! Ahora podemos continuar con nuestro ejemplo. :D + +#### Instalación del Controlador de Ingress Nginx + +### Instalando un Controlador de Ingress Nginx + +Para que todo funcione correctamente en nuestro ejemplo, debemos instalar el Controlador de Ingress Nginx. Es importante tener en cuenta la versión del Controlador de Ingress que está instalando, ya que las versiones más recientes o más antiguas pueden no ser compatibles con la versión de Kubernetes que está utilizando. Para este tutorial, utilizaremos la versión 1.9.5. + +En su terminal, ejecute los siguientes comandos: + +```bash +kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.5/deploy/static/provider/cloud/deploy.yaml +``` + +Verifique si el Controlador de Ingress se ha instalado correctamente: + +```bash +kubectl get pods -n ingress-nginx +``` + +También puede usar la opción `wait` de `kubectl`, que esperará hasta que los pods estén listos antes de liberar la terminal. Vea: + +```bash +kubectl wait --namespace ingress-nginx \ + --for=condition=ready pod \ + --selector=app.kubernetes.io/component=controller \ + --timeout=90s +``` + +¡Listo, el Controlador de Ingress se ha instalado correctamente! :D + +Ahora continuemos y creemos nuestra aplicación de ejemplo. + +#### Nuestra Aplicación de Ejemplo + +Para demostrar el funcionamiento de las Network Policies, utilizaremos una aplicación de ejemplo llamada "Giropops-Senhas". Esta aplicación consta de una aplicación Flask que utiliza Redis para almacenar las últimas contraseñas generadas. La aplicación Flask utiliza el puerto 5000, mientras que Redis utiliza el puerto 6379. + +Para permitir que los usuarios accedan a nuestro clúster, la aplicación se expone a través de un Controlador de Ingress configurado con la dirección `giropops-senhas.containers.expert`. Redis se expone a través de un Service con tipo ClusterIP configurado con la dirección `redis-service.giropops.svc.cluster.local`. La dirección interna de nuestra aplicación dentro del clúster es `giropops.giropops.svc.cluster.local`. Como puede ver, tenemos tres direcciones diferentes para nuestra aplicación, cada una con un propósito diferente. + +Recuerde que nuestra aplicación se ejecuta en el espacio de nombres `giropops`. + +Para implementar nuestra aplicación, cree un archivo llamado `giropops-deployment.yaml` con el siguiente contenido: + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: giropops-senhas + name: giropops-senhas +spec: + replicas: 2 + selector: + matchLabels: + app: giropops-senhas + template: + metadata: + labels: + app: giropops-senhas + spec: + containers: + - image: linuxtips/giropops-senhas:1.0 + name: giropops-senhas + ports: + - containerPort: 5000 + imagePullPolicy: Always +``` + +E para crear nuestro Service, crearemos un archivo llamado `giropops-service.yaml` con el siguiente contenido: + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: giropops-senhas +spec: + selector: + app: giropops-senhas + ports: + - protocol: TCP + port: 5000 + targetPort: 5000 + type: ClusterIP +``` + +Necesitamos el servicio Redis, que vamos a crear con el archivo `redis-deployment.yaml`: + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: redis + name: redis-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: redis + template: + metadata: + labels: + app: redis + spec: + containers: + - image: redis + name: redis + ports: + - containerPort: 6379 + resources: + limits: + memory: "256Mi" + cpu: "500m" + requests: + memory: "128Mi" + cpu: "250m" +``` + +Y el servicio de Redis lo crearemos con el archivo `redis-service.yaml`: + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: redis-service +spec: + selector: + app: redis + ports: + - protocol: TCP + port: 6379 + targetPort: 6379 + type: ClusterIP +``` + +Finalmente, crearemos nuestro controlador de Ingress con el archivo `giropops-ingress.yaml`: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: giropops-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + ingressClassName: nginx + rules: + - host: giropops-senhas.containers.expert + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: giropops-senhas + port: + number: 5000 +``` + +Crearemos el espacio de nombres (namespace) `giropops` utilizando el siguiente comando: + +```bash +kubectl create namespace giropops +``` + +Listo, ahora que tenemos todos los archivos necesarios, desplegaremos nuestra aplicación con los siguientes comandos: + +```bash +kubectl apply -f giropops-deployment.yaml -n giropops +kubectl apply -f giropops-service.yaml -n giropops +kubectl apply -f redis-deployment.yaml -n giropops +kubectl apply -f redis-service.yaml -n giropops +kubectl apply -f giropops-ingress.yaml -n giropops +``` + +Verifiquemos si nuestra aplicación se está ejecutando correctamente: + +```bash +kubectl get pods -n giropops +``` + +Asegúrese de que los servicios y el controlador de Ingress estén funcionando correctamente: + +```bash +kubectl get svc -n giropops +kubectl get ingress -n giropops +``` + +Parece que todo funciona correctamente. Probemos nuestra aplicación: + +```bash +curl giropops-senhas.containers.expert +``` + +Recuerde que la dirección `giropops-senhas.containers.expert` solo funcionará en mi ejemplo, ya que ya tengo la configuración DNS para esta dirección. Para probar su aplicación, deberá agregar la dirección de su aplicación en el archivo `/etc/hosts` de su computadora. Para hacerlo, agregue su dirección IP y la dirección `giropops-senhas.containers.expert` al archivo `/etc/hosts`. Por ejemplo: + +```bash +192.168.100.10 giropops-senhas.containers.expert +``` + +### Creación de Reglas de Política de Red + +#### Ingress + +En nuestro ejemplo, tanto nuestra aplicación como Redis se están ejecutando en el mismo espacio de nombres, el espacio de nombres `giropops`. Por defecto, los Pods pueden comunicarse libremente entre sí. Vamos a crear una Política de Red para restringir el acceso a Redis, permitiendo que solo los Pods del espacio de nombres `giropops` puedan acceder a Redis. + +Para hacerlo, creemos el archivo `permitir-redis-somente-mesmo-ns.yaml` con el siguiente contenido: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: redis-allow-same-namespace + namespace: giropops +spec: + podSelector: + matchLabels: + app: redis + ingress: + - from: + - podSelector: {} +``` + +Vamos a entender lo que estamos haciendo aquí: + +- `apiVersion`: La versión de la API que estamos utilizando. +- `kind`: El tipo de recurso que estamos creando. +- `metadata`: Metadatos del recurso. + - `name`: El nombre de la Política de Red. + - `namespace`: El espacio de nombres donde se creará la Política de Red. +- `spec`: La especificación de la Política de Red. + - `podSelector`: El selector de Pods que se verán afectados por la Política de Red. + - `matchLabels`: Las etiquetas de los Pods que se verán afectadas por la Política de Red. + - `ingress`: Las reglas de entrada. + - `from`: El origen del tráfico. + - `podSelector`: El selector de Pods que pueden acceder a los Pods seleccionados, en este caso, todos los Pods del espacio de nombres `giropops`. + +Siempre que vea `{}`, significa que estamos seleccionando todos los Pods que cumplen con los criterios especificados, en este caso, todos los Pods del espacio de nombres `giropops`, ya que no estamos especificando ningún criterio adicional. + +Vamos a aplicar nuestra Política de Red: + +```bash +kubectl apply -f permitir-redis-somente-mesmo-ns.yaml -n giropops +``` + +Vamos a probar el acceso a Redis desde un Pod fuera del espacio de nombres `giropops`, para ello utilizaremos el comando `redis ping`: + +```bash +kubectl run -it --rm --image redis redis-client -- redis-cli -h redis-service.giropops.svc.cluster.local ping +``` + +Si todo está funcionando correctamente, no recibirás ninguna respuesta ya que el acceso a Redis está bloqueado para los Pods fuera del espacio de nombres `giropops`. + +Ahora, si ejecutas el mismo comando desde dentro del espacio de nombres `giropops`, deberías recibir el mensaje `PONG`, ya que el acceso a Redis está permitido para los Pods dentro del espacio de nombres `giropops`. :D + +Vamos a probarlo: + +```bash +kubectl run -it --rm -n giropops --image redis redis-client -- redis-cli -h redis-service.giropops.svc.cluster.local ping +``` + +La salida debe ser algo similar a esto: + +```bash +If you don't see a command prompt, try pressing enter. + +PONG +Session ended, resume using 'kubectl attach redis-client -c redis-client -i -t' command when the pod is running +pod "redis-client" deleted +``` + +Listo, ahora que nuestra Política de Red está funcionando. + +Ahora, queremos bloquear todo el acceso de entrada a los Pods en el espacio de nombres `giropops`. Para ello, crearemos el archivo `nao-permitir-nada-externo.yaml` con el siguiente contenido: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-same-ns + namespace: giropops +spec: + podSelector: {} + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: giropops +``` + +Listo, ahora que nuestra Política de Red está funcionando. + +Ahora deseamos bloquear todo el acceso de entrada a los Pods del espacio de nombres `giropops`. Para ello, crearemos el archivo `nao-permitir-nada-externo.yaml` con el siguiente contenido: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-same-ns + namespace: giropops +spec: + podSelector: {} + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: giropops +``` + +Lo que ha cambiado aquí es lo siguiente: + +- `policyTypes`: Tipo de política que estamos creando, en este caso, estamos creando una política de entrada. +- `ingress`: Reglas de entrada. + - `from`: Origen del tráfico. + - `namespaceSelector`: Selector de Espacios de nombres que pueden acceder a los Pods seleccionados, en este caso, solo el espacio de nombres `giropops`. + - `matchLabels`: Etiquetas de los Espacios de nombres que pueden acceder a los Pods seleccionados, en este caso, solo el espacio de nombres `giropops`. + - `kubernetes.io/metadata.name`: Nombre del Espacio de nombres. + - `giropops`: Valor del Nombre del Espacio de nombres. + +De esta manera, estamos bloqueando todo el tráfico de entrada a los Pods del espacio de nombres `giropops`, excepto para los Pods del propio espacio de nombres `giropops`. + +Aplicaremos nuestra Política de Red de la siguiente manera: + +```bash +kubectl apply -f nao-permitir-nada-externo.yaml -n giropops +``` + +Vamos probar el acceso a Redis desde un Pod fuera del espacio de nombres `giropops` utilizando el comando `redis ping`: + +```bash +kubectl run -it --rm --image redis redis-client -- redis-cli -h redis-service.giropops.svc.cluster.local ping +``` + +Nada nuevo hasta ahora, ¿verdad? Sin embargo, vamos a probar el acceso a nuestra aplicación desde un Pod fuera del espacio de nombres `giropops` utilizando el comando `curl`: + +```bash +kubectl run -it --rm --image curlimages/curl curl-client -- curl giropops-senhas.giropops.svc +``` + +Si todo funciona correctamente, no recibirás ninguna respuesta, ya que el acceso a nuestra aplicación está bloqueado para Pods fuera del espacio de nombres `giropops`. + +Ahora, si ejecutas el mismo comando desde dentro del espacio de nombres `giropops`, deberías recibir el mensaje `Giropops Senhas`, ya que el acceso a nuestra aplicación está permitido para los Pods dentro del espacio de nombres `giropops`. ¡Probemoslo! + +```bash +kubectl run -it --rm -n giropops --image curlimages/curl curl-client -- curl giropops-senhas.giropops.svc +``` + +Todo funciona de manera excelente. Desde el mismo espacio de nombres, podemos acceder a nuestra aplicación y a Redis, pero desde fuera del espacio de nombres, ¡no podemos acceder a nada! :D + +Sin embargo, surge un problema: nuestro controlador de ingreso (Ingress Controller) no puede acceder a nuestra aplicación porque se encuentra fuera del espacio de nombres `giropops`. Así que vamos a crear una Política de red para permitir el acceso a nuestro Controlador de Ingreso. + +Para ello, crearemos el archivo `permitir-ingress-controller.yaml` con el siguiente contenido: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-same-ns-and-ingress-controller + namespace: giropops +spec: + podSelector: {} + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: ingress-nginx + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: giropops +``` + +Aquí, la solución fue muy simple: simplemente agregamos un selector de espacios de nombres adicional para permitir el acceso a nuestro Controlador de Ingreso. Con esto, todo lo que esté dentro del espacio de nombres `ingress-nginx` y `giropops` podrá acceder a los Pods del espacio de nombres `giropops`. + +Podríamos mejorar el código utilizando `matchExpressions`, así: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-same-ns-and-ingress-controller + namespace: giropops +spec: + podSelector: {} + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchExpressions: + - key: kubernetes.io/metadata.name + operator: In + values: ["ingress-nginx", "giropops"] +``` + +El resultado sería el mismo, pero el código estaría más limpio y sería más fácil de entender. + +Ahora puedes probar el acceso a nuestra aplicación desde un Pod fuera del espacio de nombres `giropops` utilizando el comando `curl`: + +```bash +kubectl run -it --rm --image curlimages/curl curl-client -- curl giropops-senhas.giropops.svc +``` + +Aquí no podrás acceder a nuestra aplicación porque el acceso está bloqueado para Pods fuera del espacio de nombres `giropops`. Sin embargo, si ejecutas el mismo comando desde el espacio de nombres `giropops`, todo funcionará correctamente. + +Sin embargo, siempre que utilices la dirección de ingreso (Ingress) de nuestra aplicación, podrás acceder normalmente, ya que hemos permitido el acceso a nuestro Controlador de Ingreso. Por lo tanto, los clientes de nuestra aplicación que accedan desde Internet podrán hacerlo con normalidad, pero los Pods fuera del espacio de nombres `giropops` no podrán acceder a nuestra aplicación. ¿No es genial? :D + +Solo una nota importante: + +```yaml + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: ingress-nginx + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: giropops +``` + +Una cosa que debes comprender claramente al crear tus reglas son los operadores lógicos, ya que pueden cambiar por completo el resultado de tu Política de red. En nuestro ejemplo, estamos utilizando el operador lógico `OR`, es decir, estamos permitiendo el acceso a nuestro Controlador de Ingreso O a nuestro espacio de nombres `giropops`. + +Si deseas permitir el acceso tanto a nuestro Ingress Controller COMO a nuestro namespace `giropops`, debes utilizar el operador lógico `AND`, como se muestra a continuación: + +```yaml + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: ingress-nginx + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: giropops +``` + +En este caso, la regla funcionará de la siguiente manera: solo los Pods que estén en el espacio de nombres `ingress-nginx` Y en el espacio de nombres `giropops` podrán acceder a los Pods del espacio de nombres `giropops`. Esto podría causar problemas. + +Puedes probarlo y ver qué sucede. :D + +Podemos seguir un enfoque diferente, donde primero bloqueamos todo el tráfico de entrada y luego creamos reglas para permitir el tráfico de entrada a los Pods que lo necesitan. Observa: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: default-deny-all +spec: + podSelector: {} + policyTypes: + - Ingress + - Egress +``` + +En este caso, bloqueamos completamente el tráfico de entrada para los Pods en el espacio de nombres `giropops`. Esto se logra utilizando `ingress: []` para bloquear todo el tráfico de entrada. Nuevamente, utilizamos `[]` vacío para seleccionar todos los Pods y bloquear todo el tráfico de entrada, ya que no especificamos ningún criterio. + +El campo `policyTypes` es obligatorio, y en él debes especificar el tipo de política que estás creando. En este caso, estamos creando una política que afecta tanto al tráfico de entrada (Ingress) como al tráfico de salida (Egress). + +Vamos aplicar estas reglas: + +```bash +kubectl apply -f deny-all-ingress.yaml -n giropops +kubectl apply -f allow-redis-app-only.yaml -n giropops +``` + +Ahora, vamos crear una regla para permitir que nuestra aplicación acceda al Redis. Observa: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-redis-app-only + namespace: giropops +spec: + podSelector: + matchLabels: + app: redis + policyTypes: + - Ingress + ingress: + - from: + - podSelector: + matchLabels: + app: giropops-senhas + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: giropops + ports: + - protocol: TCP + port: 6379 +``` + +Con esto, hemos creado una regla adicional que permite el acceso entre nuestra aplicación y el Redis, pero solo entre ellos y solo en los puertos 6379 y 5000. + +Vamos aplicar esta regla: + +```bash +kubectl apply -f permitir-ingress-controller.yaml -n giropops +``` + +Hemos añadido otra capa de seguridad; ahora solo nuestra aplicación puede acceder al Redis, y solo en los puertos 6379 y 5000. Sin embargo, todavía enfrentamos un problema: nuestro Controlador de Ingreso no puede acceder a nuestra aplicación, lo que significa que nuestros clientes no podrán acceder a ella. Para solucionar esto, creemos una Network Policy para permitir el acceso a nuestro Controlador de Ingreso, como se muestra a continuación: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-ingress-controller + namespace: giropops +spec: + podSelector: {} + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: ingress-nginx + ports: + - protocol: TCP + port: 5000 +``` + +Ahora, nuestro Controlador de Ingreso puede acceder a nuestra aplicación, y como resultado, nuestros clientes también pueden hacerlo. + +Vamos aplicar esta regla para permitir el acceso al DNS del clúster, lo que permitirá que los Pods de nuestra aplicación accedan al Redis sin problemas: + +```bash +kubectl apply -f permitir-acceso-dns.yaml -n giropops +``` + +Hemos resuelto un problema, ¡pero aún hay otro por resolver! + +Cuando creamos la regla de Egress que bloquea todo el tráfico de salida, también bloqueamos el tráfico de salida de todos los Pods en el espacio de nombres `giropops`. Esto significa que nuestro Pod de la aplicación no puede acceder al Redis. + +Para solucionar esto, creamos una Network Policy adicional para permitir el tráfico de salida hacia el Redis en el mismo espacio de nombres: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-redis + namespace: giropops +spec: + podSelector: + matchLabels: {} + policyTypes: + - Egress + egress: + - to: + - podSelector: + matchLabels: + app: redis +``` + +Ahora, con estas reglas, creo que hemos resuelto todos los problemas y deberíamos poder acceder a nuestra aplicación y al Redis con normalidad. ¡Listo! :D + +Otra opción interesante que puedes utilizar es `ipBlock`, que te permite especificar una dirección IP o un CIDR para permitir el acceso. Aquí tienes un ejemplo: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: ip-block + namespace: giropops +spec: + podSelector: {} + policyTypes: + - Ingress + ingress: + - from: + - ipBlock: + cidr: 172.18.0.0/16 +``` + +Con la regla anterior, estamos permitiendo el acceso solo desde el rango de direcciones IP dentro del CIDR `172.18.0.0/16`. Esto significa que solo los Pods que estén dentro de ese rango de direcciones IP podrán acceder a los Pods en el espacio de nombres `giropops`. + +Todavía podemos agregar una regla de excepción, como se muestra a continuación: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: ip-block + namespace: giropops +spec: + policyTypes: + - Ingress + podSelector: {} + ingress: + - from: + - ipBlock: + cidr: 172.18.0.0/16 + except: + - 172.18.0.112/32 +``` + +Con la regla anterior, toda la red `172.18.0.0/16` tendrá acceso, excepto la IP `172.18.0.112`, que no tendrá acceso a los Pods en el espacio de nombres `giropops`. + +Hemos creado muchas Network Policies, pero no nos hemos centrado en cómo verificar si están creadas y en sus detalles. Así que veamos cómo hacerlo. + +Para ver las Network Policies creadas en tu clúster, puedes ejecutar el siguiente comando: + +```bash +kubectl get networkpolicies -n giropops +``` + +Para ver los detalles de una Network Policy en particular, puedes ejecutar el siguiente comando: + +```bash +kubectl describe networkpolicy -n giropops +``` + +Para eliminar una Network Policy, puedes ejecutar el siguiente comando: + +```bash +kubectl delete networkpolicy -n giropops +``` + +Es tan sencillo como volar, ¿verdad? + +#### Egress + +Hemos hablado mucho sobre cómo crear reglas de Ingress, es decir, reglas de entrada, pero ¿qué hay de las reglas de Egress? ¿Cómo podemos crear reglas de salida? + +Para esto, tenemos el `egress`, que es muy similar al `ingress`, pero con algunas diferencias, como se muestra a continuación: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress + namespace: giropops +spec: + podSelector: {} + policyTypes: + - Egress + egress: + - to: + - podSelector: + matchLabels: + app: redis + ports: + - protocol: TCP + port: 6379 +``` + +Con la regla anterior, estamos permitiendo el acceso a los Pods que cumplen con los criterios especificados, en este caso, solo los Pods que tengan la etiqueta `app: redis` podrán acceder a los Pods del espacio de nombres `giropops` en el puerto 6379. Con esto, todos los Pods del espacio de nombres `giropops` podrán acceder a los Pods que tengan la etiqueta `app: redis` en el puerto 6379. + +Ahora bien, si deseamos que solo nuestra aplicación pueda acceder a Redis, podemos hacer lo siguiente: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-only-app + namespace: giropops +spec: + policyTypes: + - Egress + podSelector: + matchLabels: + app: giropops-senhas + egress: + - to: + - podSelector: + matchLabels: + app: redis + ports: + - protocol: TCP + port: 6379 +``` + +Con la regla anterior, solo nuestra aplicación podrá acceder a Redis, ya que estamos utilizando `podSelector` para seleccionar solo los Pods que tengan la etiqueta `app: giropops-senhas`, es decir, solo nuestra aplicación tendrá acceso a Redis. + +¡Es realmente sencillo! diff --git a/es/day-14/images/image-1.png b/es/day-14/images/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..01ebd862d7016a6ea5e279302d842340e50b9438 GIT binary patch literal 137217 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 vED8xS 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 z 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 literal 0 HcmV?d00001 diff --git a/es/day-14/images/image-2.png b/es/day-14/images/image-2.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4bef81185f30820ef046fbe5b702b7411738ef GIT binary patch literal 95226 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 wTE=GAkqV{T( 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 z Approved,Issued +csr-68wsv 15m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +csr-jkm8t 15m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +csr-r2hcr 15m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +csr-x52kj 15m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +developer 3s kubernetes.io/kube-apiserver-client kubernetes-admin 365d Pending +``` + +Observe que nuestro usuario tiene el estado `Pending` porque el kube-apiserver aún no ha firmado nuestro certificado. Puede seguir el estado de su usuario con el siguiente comando: + +```bash +kubectl describe csr developer +``` + +El resultado será algo similar a esto: + +```bash +Name: developer +Labels: +Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"certificates.k8s.io/v1","kind":"CertificateSigningRequest","metadata":{"annotations":{},"name":"developer"},"spec":{"expirationSeconds":31536000,"request":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ1dUQ0NBVUVDQVFBd0ZERVNNQkFHQTFVRUF3d0paR1YyWld4dmNHVnlNSUlCSWpBTkJna3Foa2lHOXcwQgpBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5OFN1Y25JWjJjL0k3dXQvS0EwSXhvN0RZa0hkSUxrbmxZOWNwMkVlClJJSzRzU1NzZnA2SzBhbWZlYWtRaEdXT2NWMmFaeEtTM0xrNERNNlVmb3ZucEQvOXpidDl0em44UUpMTDZxREEKeHFxbzVSbEt4QnpEV3lQT2JkUStMWnI2VjFQZ2wxYms2c3o0d2lWek52a2NhT0doSDdlSU90QVI0U096MjNJdAowZ0xiZHBDalFITFIvNlFuSXBjY3h3bDBGa1FtL3RVeHdRa0x1NXNpSTNKOGRiUkQwcnlFdGxReWQ5elhLM29rCjBRbVpLZDVpV1p2aDU3R1lrV1kweGMzV0J5aXY5OURQYVE3WTB4MFNaWGlPL2w0bTRzazJ3RjYwa2dUa1NJZmQKdEMxN2Y1ZzVWVzhOTW02amNpMFRXeDk5Z0REcmpHanJpaExHeTBLUWdRa2p3d0lEQVFBQm9BQXdEUVlKS29aSQpodmNOQVFFTEJRQURnZ0VCQUllZVdLbjAwZkk5ekw3MUVQNFNpOUVxVUFNUnBYT0dkT1Aybm8rMTV2VzJ5WmpwCmhsTWpVTjMraVZubkh2QVBvWFVLKzBYdXdmaklHMjBQTjA5UEd1alU4aUFIeVZRbFZRS0VaOWpRcENXYnQybngKVlZhYUw0N0tWMUpXMnF3M1YybmNVNkhlNHdtQzVqUE9vU29vVGtrVlF5Uml4bkcyVVQrejI3M2xpaTY3RkFXegpBZ1QvczlVa3gvS1dxRjIzczVuUk9TTlZUS2xCSG5LMU40YkN6RHBqZnN5V01GUXdnazhxRCtlOXp0cTh2c1VhCi9Say9jUWNyS2wxVDMyM0xDcG1TekhnM3hDdjFqdzJUVFFINm1yWlBBa2doa2R2YlNnalp6Y1JRZWNqSEpNeTMKTzFJQXJ6V3pWbU1hRTJqeGhUV1JwbkJkcVZjZERTUERiNkNXaktVPQotLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0K","signerName":"kubernetes.io/kube-apiserver-client","usages":["client auth"]}} + +CreationTimestamp: Wed, 31 Jan 2024 11:52:24 +0100 +Requesting User: kubernetes-admin +Signer: kubernetes.io/kube-apiserver-client +Requested Duration: 365d +Status: Pending +Subject: + Common Name: developer + Serial Number: +Events: +``` + +Hasta ahora todo va bien, ahora debemos aprobar nuestro certificado utilizando el comando `kubectl certificate approve`: + +```bash +kubectl certificate approve developer +``` + +Ahora vamos listar los CSR (Solicitudes de firma de certificado) del clúster nuevamente: + +```bash +kubectl get csr +``` + +El resultado será algo parecido a esto: + +```bash +NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION +csr-4zd8k 17m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +csr-68wsv 17m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +csr-jkm8t 17m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +csr-r2hcr 17m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +csr-x52kj 16m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:abcdef Approved,Issued +developer 88s kubernetes.io/kube-apiserver-client kubernetes-admin 365d Approved,Issued +``` + +Listo, nuestro certificado ha sido firmado con éxito. Ahora podemos obtener el certificado de nuestro usuario y guardarlo en un archivo. Para ello, utilizaremos el comando `kubectl get csr`: + +```bash +kubectl get csr developer -o jsonpath='{.status.certificate}' | base64 --decode > developer.crt +``` + +En el comando anterior, estamos obteniendo el certificado de nuestro usuario, decodificándolo en base64 y guardándolo en el archivo `developer.crt`. + +Para obtener el certificado, estamos utilizando el parámetro `-o jsonpath='{.status.certificate}'` para que el comando devuelva solo el certificado del usuario y no toda la información del CSR. + +Puede verificar el contenido del certificado mediante el comando: + +```bash +cat developer.crt +``` + +Ahora tenemos nuestro certificado final creado y podemos utilizarlo para acceder al clúster, pero antes debemos definir lo que nuestro usuario puede hacer en el clúster. + +#### Creando un Rol para nuestro usuario + +Cuando creamos un nuevo usuario o ServiceAccount en Kubernetes, no tiene acceso a nada en el clúster. Para que pueda acceder a los recursos del clúster, debemos crear un Rol y asociarlo al usuario. + +La definición de un Rol consiste en un archivo donde especificamos qué permisos tendrá el usuario en el clúster y para qué recursos tendrá acceso. Dentro del Rol es donde definimos: + +- En qué espacio de nombres (namespace) tendrá acceso el usuario. +- A qué grupos de API (apiGroups) tendrá acceso el usuario. +- A qué recursos tendrá acceso el usuario. +- A qué verbos tendrá acceso el usuario. + +#### apiGroups + +Los grupos de API (apiGroups) son los grupos de recursos de Kubernetes, que se dividen en `core` y `named`. Puede consultar todos los grupos de recursos de Kubernetes mediante el comando `kubectl api-resources`. + +Veamos la lista de grupos de recursos de Kubernetes: + +```bash +kubectl api-resources +``` + +La lista es larga, pero el resultado será algo similar a esto: + +```bash +NAME SHORTNAMES APIVERSION NAMESPACED KIND +bindings v1 true Binding +componentstatuses cs v1 false ComponentStatus +configmaps cm v1 true ConfigMap +endpoints ep v1 true Endpoints +events ev v1 true Event +limitranges limits v1 true LimitRange +namespaces ns v1 false Namespace +nodes no v1 false Node +persistentvolumeclaims pvc v1 true PersistentVolumeClaim +persistentvolumes pv v1 false PersistentVolume +pods po v1 true Pod +podtemplates v1 true PodTemplate +replicationcontrollers rc v1 true ReplicationController +resourcequotas quota v1 true ResourceQuota +secrets v1 true Secret +serviceaccounts sa v1 true ServiceAccount +services svc v1 true Service +mutatingwebhookconfigurations admissionregistration.k8s.io/v1 false MutatingWebhookConfiguration +validatingwebhookconfigurations admissionregistration.k8s.io/v1 false ValidatingWebhookConfiguration +customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition +apiservices apiregistration.k8s.io/v1 false APIService +controllerrevisions apps/v1 true ControllerRevision +daemonsets ds apps/v1 true DaemonSet +deployments deploy apps/v1 true Deployment +replicasets rs apps/v1 true ReplicaSet +statefulsets sts apps/v1 true StatefulSet +tokenreviews authentication.k8s.io/v1 false TokenReview +localsubjectaccessreviews authorization.k8s.io/v1 true LocalSubjectAccessReview +selfsubjectaccessreviews authorization.k8s.io/v1 false SelfSubjectAccessReview +selfsubjectrulesreviews authorization.k8s.io/v1 false SelfSubjectRulesReview +subjectaccessreviews authorization.k8s.io/v1 false SubjectAccessReview +horizontalpodautoscalers hpa autoscaling/v2 true HorizontalPodAutoscaler +cronjobs cj batch/v1 true CronJob +jobs batch/v1 true Job +certificatesigningrequests csr certificates.k8s.io/v1 false CertificateSigningRequest +leases coordination.k8s.io/v1 true Lease +endpointslices discovery.k8s.io/v1 true EndpointSlice +events ev events.k8s.io/v1 true Event +flowschemas flowcontrol.apiserver.k8s.io/v1beta3 false FlowSchema +prioritylevelconfigurations flowcontrol.apiserver.k8s.io/v1beta3 false PriorityLevelConfiguration +ingressclasses networking.k8s.io/v1 false IngressClass +ingresses ing networking.k8s.io/v1 true Ingress +networkpolicies netpol networking.k8s.io/v1 true NetworkPolicy +runtimeclasses node.k8s.io/v1 false RuntimeClass +poddisruptionbudgets pdb policy/v1 true PodDisruptionBudget +clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding +clusterroles rbac.authorization.k8s.io/v1 false ClusterRole +rolebindings rbac.authorization.k8s.io/v1 true RoleBinding +roles rbac.authorization.k8s.io/v1 true Role +priorityclasses pc scheduling.k8s.io/v1 false PriorityClass +csidrivers storage.k8s.io/v1 false CSIDriver +csinodes storage.k8s.io/v1 false CSINode +csistoragecapacities storage.k8s.io/v1 true CSIStorageCapacity +storageclasses sc storage.k8s.io/v1 false StorageClass +volumeattachments storage.k8s.io/v1 false VolumeAttachment +``` + +Donde la primera columna es el nombre del recurso, la segunda columna es el nombre abreviado del recurso, la tercera columna es la versión de la API a la que pertenece el recurso, la cuarta columna indica si el recurso se encuentra o no en un espacio de nombres (Namespaced), y la quinta columna es el tipo de recurso. + +Echemos un vistazo a un recurso específico, por ejemplo, el recurso `pods`: + +```bash +kubectl api-resources | grep pods +``` + +El resultado será algo similar a esto: + +```bash +NAME SHORTNAMES APIVERSION NAMESPACED KIND +pods po v1 true Pod +``` + +Donde: + +- `NAME`: Nombre del recurso. +- `SHORTNAMES`: Nombre abreviado del recurso. +- `APIVERSION`: Versión de la API a la que pertenece el recurso. +- `NAMESPACED`: Indica si el recurso se encuentra o no en un espacio de nombres. +- `KIND`: Tipo de recurso. + +Pero, ¿qué significa que un recurso esté en un espacio de nombres (Namespaced)? Un recurso Namespaced es un recurso que puede crearse dentro de un espacio de nombres (namespace), por ejemplo, un Pod, un Deployment, un Service, etc. Por otro lado, un recurso que no es Namespaced es un recurso que no puede crearse dentro de un espacio de nombres, como un Nodo (Node), un Volumen Persistente (PersistentVolume), un ClusterRole, etc. ¿Sencillo, verdad? + +Ahora bien, ¿cómo sabemos cuál es el apiGroup de un recurso? El apiGroup de un recurso es el nombre del grupo de recursos al que pertenece. Por ejemplo, el recurso `pods` pertenece al grupo de recursos `core`, y el recurso `deployments` pertenece al grupo de recursos `apps`. Cuando un recurso es de tipo `core`, no es necesario especificar su apiGroup, ya que Kubernetes asume automáticamente que pertenece al grupo de recursos `core`, y esto se refleja en `apiVersion: v1`. + +Por otro lado, `apiVersion: apps/v1` indica que el recurso pertenece al grupo de recursos `apps`, y su versión de API es `v1`. Dentro del grupo `apps`, encontramos recursos importantes como `deployments`, `replicasets`, `daemonsets`, `statefulsets`, entre otros. + +Los recursos son las entidades que Kubernetes administra y gestiona. Estos recursos se dividen en dos categorías principales: `core` y `named`. Puede consultar todos los recursos de Kubernetes utilizando el comando `kubectl api-resources`. + +Los recursos denominados `core` son recursos predefinidos que vienen instalados con Kubernetes. Por otro lado, los recursos denominados `named` son recursos que se instalan mediante Custom Resource Definitions (CRD), como por ejemplo, el recurso `ServiceMonitor` utilizado por Prometheus. + +A continuación, listaremos los recursos de Kubernetes que no están en un espacio de nombres (non-namespaced): + +```bash +kubectl api-resources --namespaced=false +``` + +El resultado será similar a lo siguiente: + + +```bash +NAME SHORTNAMES APIVERSION NAMESPACED KIND +componentstatuses cs v1 false ComponentStatus +namespaces ns v1 false Namespace +nodes no v1 false Node +persistentvolumes pv v1 false PersistentVolume +mutatingwebhookconfigurations admissionregistration.k8s.io/v1 false MutatingWebhookConfiguration +validatingwebhookconfigurations admissionregistration.k8s.io/v1 false ValidatingWebhookConfiguration +customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition +apiservices apiregistration.k8s.io/v1 false APIService +tokenreviews authentication.k8s.io/v1 false TokenReview +selfsubjectaccessreviews authorization.k8s.io/v1 false SelfSubjectAccessReview +selfsubjectrulesreviews authorization.k8s.io/v1 false SelfSubjectRulesReview +subjectaccessreviews authorization.k8s.io/v1 false SubjectAccessReview +certificatesigningrequests csr certificates.k8s.io/v1 false CertificateSigningRequest +flowschemas flowcontrol.apiserver.k8s.io/v1beta3 false FlowSchema +prioritylevelconfigurations flowcontrol.apiserver.k8s.io/v1beta3 false PriorityLevelConfiguration +ingressclasses networking.k8s.io/v1 false IngressClass +runtimeclasses node.k8s.io/v1 false RuntimeClass +clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding +clusterroles rbac.authorization.k8s.io/v1 false ClusterRole +priorityclasses pc scheduling.k8s.io/v1 false PriorityClass +csidrivers storage.k8s.io/v1 false CSIDriver +csinodes storage.k8s.io/v1 false CSINode +storageclasses sc storage.k8s.io/v1 false StorageClass +volumeattachments storage.k8s.io/v1 false VolumeAttachment +``` + +De esta manera, podemos identificar cuáles son los recursos nativos de Kubernetes y cuáles son los recursos instalados a través de CRD (Definiciones de Recursos Personalizados, por sus siglas en inglés), como por ejemplo, `ServiceMonitor` de Prometheus. + +Por lo tanto, el nombre del recurso es el nombre que utilizamos para crear el recurso, como por ejemplo, `pods`, `deployments`, `services`, etc. + +#### Verbos + +Los verbos definen las acciones que un usuario puede realizar en un recurso determinado. Por ejemplo, los verbos pueden incluir crear, listar, actualizar, eliminar, etc. + +Para que pueda ver los verbos que se pueden utilizar, vamos a utilizar el comando `kubectl api-resources` con la opción `-o wide`: + +```bash +kubectl api-resources -o wide +``` + +El resultado se verá similar a esto: + + +```bash +NAME SHORTNAMES APIVERSION NAMESPACED KIND VERBS CATEGORIES +bindings v1 true Binding create +componentstatuses cs v1 false ComponentStatus get,list +configmaps cm v1 true ConfigMap create,delete,deletecollection,get,list,patch,update,watch +endpoints ep v1 true Endpoints create,delete,deletecollection,get,list,patch,update,watch +events ev v1 true Event create,delete,deletecollection,get,list,patch,update,watch +limitranges limits v1 true LimitRange create,delete,deletecollection,get,list,patch,update,watch +namespaces ns v1 false Namespace create,delete,get,list,patch,update,watch +nodes no v1 false Node create,delete,deletecollection,get,list,patch,update,watch +persistentvolumeclaims pvc v1 true PersistentVolumeClaim create,delete,deletecollection,get,list,patch,update,watch +persistentvolumes pv v1 false PersistentVolume create,delete,deletecollection,get,list,patch,update,watch +pods po v1 true Pod create,delete,deletecollection,get,list,patch,update,watch all +podtemplates v1 true PodTemplate create,delete,deletecollection,get,list,patch,update,watch +replicationcontrollers rc v1 true ReplicationController create,delete,deletecollection,get,list,patch,update,watch all +resourcequotas quota v1 true ResourceQuota create,delete,deletecollection,get,list,patch,update,watch +secrets v1 true Secret create,delete,deletecollection,get,list,patch,update,watch +serviceaccounts sa v1 true ServiceAccount create,delete,deletecollection,get,list,patch,update,watch +services svc v1 true Service create,delete,deletecollection,get,list,patch,update,watch all +mutatingwebhookconfigurations admissionregistration.k8s.io/v1 false MutatingWebhookConfiguration create,delete,deletecollection,get,list,patch,update,watch api-extensions +validatingwebhookconfigurations admissionregistration.k8s.io/v1 false ValidatingWebhookConfiguration create,delete,deletecollection,get,list,patch,update,watch api-extensions +customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition create,delete,deletecollection,get,list,patch,update,watch api-extensions +apiservices apiregistration.k8s.io/v1 false APIService create,delete,deletecollection,get,list,patch,update,watch api-extensions +controllerrevisions apps/v1 true ControllerRevision create,delete,deletecollection,get,list,patch,update,watch +daemonsets ds apps/v1 true DaemonSet create,delete,deletecollection,get,list,patch,update,watch all +deployments deploy apps/v1 true Deployment create,delete,deletecollection,get,list,patch,update,watch all +replicasets rs apps/v1 true ReplicaSet create,delete,deletecollection,get,list,patch,update,watch all +statefulsets sts apps/v1 true StatefulSet create,delete,deletecollection,get,list,patch,update,watch all +tokenreviews authentication.k8s.io/v1 false TokenReview create +localsubjectaccessreviews authorization.k8s.io/v1 true LocalSubjectAccessReview create +selfsubjectaccessreviews authorization.k8s.io/v1 false SelfSubjectAccessReview create +selfsubjectrulesreviews authorization.k8s.io/v1 false SelfSubjectRulesReview create +subjectaccessreviews authorization.k8s.io/v1 false SubjectAccessReview create +horizontalpodautoscalers hpa autoscaling/v2 true HorizontalPodAutoscaler create,delete,deletecollection,get,list,patch,update,watch all +cronjobs cj batch/v1 true CronJob create,delete,deletecollection,get,list,patch,update,watch all +jobs batch/v1 true Job create,delete,deletecollection,get,list,patch,update,watch all +certificatesigningrequests csr certificates.k8s.io/v1 false CertificateSigningRequest create,delete,deletecollection,get,list,patch,update,watch +leases coordination.k8s.io/v1 true Lease create,delete,deletecollection,get,list,patch,update,watch +endpointslices discovery.k8s.io/v1 true EndpointSlice create,delete,deletecollection,get,list,patch,update,watch +events ev events.k8s.io/v1 true Event create,delete,deletecollection,get,list,patch,update,watch +flowschemas flowcontrol.apiserver.k8s.io/v1beta3 false FlowSchema create,delete,deletecollection,get,list,patch,update,watch +prioritylevelconfigurations flowcontrol.apiserver.k8s.io/v1beta3 false PriorityLevelConfiguration create,delete,deletecollection,get,list,patch,update,watch +ingressclasses networking.k8s.io/v1 false IngressClass create,delete,deletecollection,get,list,patch,update,watch +ingresses ing networking.k8s.io/v1 true Ingress create,delete,deletecollection,get,list,patch,update,watch +networkpolicies netpol networking.k8s.io/v1 true NetworkPolicy create,delete,deletecollection,get,list,patch,update,watch +runtimeclasses node.k8s.io/v1 false RuntimeClass create,delete,deletecollection,get,list,patch,update,watch +poddisruptionbudgets pdb policy/v1 true PodDisruptionBudget create,delete,deletecollection,get,list,patch,update,watch +clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding create,delete,deletecollection,get,list,patch,update,watch +clusterroles rbac.authorization.k8s.io/v1 false ClusterRole create,delete,deletecollection,get,list,patch,update,watch +rolebindings rbac.authorization.k8s.io/v1 true RoleBinding create,delete,deletecollection,get,list,patch,update,watch +roles rbac.authorization.k8s.io/v1 true Role create,delete,deletecollection,get,list,patch,update,watch +priorityclasses pc scheduling.k8s.io/v1 false PriorityClass create,delete,deletecollection,get,list,patch,update,watch +csidrivers storage.k8s.io/v1 false CSIDriver create,delete,deletecollection,get,list,patch,update,watch +csinodes storage.k8s.io/v1 false CSINode create,delete,deletecollection,get,list,patch,update,watch +csistoragecapacities storage.k8s.io/v1 true CSIStorageCapacity create,delete,deletecollection,get,list,patch,update,watch +storageclasses sc storage.k8s.io/v1 false StorageClass create,delete,deletecollection,get,list,patch,update,watch +volumeattachments storage.k8s.io/v1 false VolumeAttachment create,delete,deletecollection,get,list,patch,update,watch +``` + +Ahora, observe que tenemos una nueva columna llamada `VERBS`, que contiene todos los verbos que se pueden utilizar con el recurso, y la columna `CATEGORIES`, que muestra la categoría del recurso. Sin embargo, nuestro enfoque aquí está en los verbos, así que echemos un vistazo a ellos. + +Los verbos se dividen en: + +- `create`: Permite que el usuario cree un recurso. +- `delete`: Permite que el usuario elimine un recurso. +- `deletecollection`: Permite que el usuario elimine una colección de recursos. +- `get`: Permite que el usuario obtenga un recurso. +- `list`: Permite que el usuario liste los recursos. +- `patch`: Permite que el usuario actualice un recurso. +- `update`: Permite que el usuario actualice un recurso. +- `watch`: Permite que el usuario siga los cambios en un recurso. + +Por ejemplo, tomemos la línea del recurso `pods`: + +```bash +NAME SHORTNAMES APIVERSION NAMESPACED KIND VERBS CATEGORIES +pods po v1 true Pod create,delete,deletecollection,get,list,patch,update,watch all +``` + +Con esto, sabemos que el usuario puede crear, eliminar, eliminar una colección, obtener, listar, actualizar y seguir los cambios en un Pod. ¡Muy sencillo! + +Ahora que conocemos bien los `resources`, `apiGroups` y `verbs`, crearemos nuestra Role para nuestro usuario. + +Para ello, crearemos un archivo llamado `developer-role.yaml` con el siguiente contenido: + +```yaml +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: developer + namespace: dev +rules: +- apiGroups: [""] # "" indica el grupo de recursos principal + resources: ["pods"] + verbs: ["get", "watch", "list", "update", "create", "delete"] +``` + +En el archivo anterior, definimos la siguiente información: + +- `apiVersion`: Versión de la API que estamos utilizando para crear nuestro usuario. +- `kind`: Tipo de recurso que estamos creando, en este caso, una Role. +- `metadata.name`: Nombre de nuestra Role. +- `metadata.namespace`: Namespace en el que se creará nuestra Role. +- `rules`: Reglas de nuestra Role. +- `rules.apiGroups`: Grupos de recursos a los que tendrá acceso nuestra Role. +- `rules.resources`: Recursos a los que tendrá acceso nuestra Role. +- `rules.verbs`: Verbos a los que tendrá acceso nuestra Role. + +Estoy seguro de que le resulta fácil comprender la Role, que básicamente establece lo que nuestro usuario puede hacer en el clúster. En resumen, estamos diciendo que el usuario que utilice esta Role podrá realizar todas las operaciones con el recurso `pods` en el espacio de nombres `dev`. ¡Tan sencillo como volar! + +Recuerde que esta Role puede ser reutilizada por otros usuarios y que puede crear tantas Roles como desee, así como crear Roles para otros perfiles de usuarios y otros recursos, como `deployments`, `services`, `configmaps`, etc. + +¡Ah, antes de continuar, creemos el espacio de nombres `dev`: + +```bash +kubectl create ns dev +``` + +Ahora que hemos creado nuestro archivo y el espacio de nombres, vamos a aplicarlo en el clúster: + +```bash +kubectl apply -f developer-role.yaml +``` + +Para verificar si nuestra Role se ha creado correctamente, enumeremos las Roles en el clúster: + +```bash +kubectl get roles -n dev +``` + +La salida será algo como: + +```bash +NAME CREATED AT +developer 2024-01-31T11:32:08Z +``` + +Para ver los detalles de la Role, utilizaremos el comando `kubectl describe`: + +```bash +kubectl describe role developer -n dev +``` + +La salida será algo parecida a esto: + +```bash +Name: developer +Labels: +Annotations: +PolicyRule: + Resources Non-Resource URLs Resource Names Verbs + --------- ----------------- -------------- ----- + pods [] [] [get watch list update create delete] +``` + +Listo, nuestra Role ya está creada, pero aún no la hemos asociado a nuestro usuario. Para hacerlo, crearemos un RoleBinding. + +El RoleBinding es el recurso que asocia un usuario a una Role, es decir, a través del RoleBinding definimos qué usuario tiene acceso a qué Role. Puedes pensar en ello como si fuera una insignia de Desarrollador, donde la Role sería la insignia y el RoleBinding sería la insignia con el nombre del usuario. ¿Tiene sentido? + +Para ello, crearemos un archivo llamado `developer-rolebinding.yaml` con el siguiente contenido: + +```yaml +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: DeveloperRoleBinding + namespace: dev +subjects: +- kind: User + name: developer +roleRef: + kind: Role + name: developer + apiGroup: rbac.authorization.k8s.io +``` + +En el archivo anterior, estamos definiendo la siguiente información: + +- `apiVersion`: La versión de la API que estamos utilizando para crear nuestro usuario. +- `kind`: El tipo de recurso que estamos creando, en este caso, un RoleBinding. +- `metadata.name`: El nombre de nuestro RoleBinding. +- `metadata.namespace`: El espacio de nombres en el que se creará nuestro RoleBinding. +- `subjects`: Los usuarios que tendrán acceso a la Role. +- `subjects.kind`: El tipo de usuario, que en este caso es `User`. +- `subjects.name`: El nombre del usuario, que en este caso es `developer`. +- `roleRef`: La referencia a la Role a la que el usuario tendrá acceso. +- `roleRef.kind`: El tipo de Role, que en este caso es `Role`. +- `roleRef.name`: El nombre de la Role, que en este caso es `developer`. +- `roleRef.apiGroup`: El grupo de recursos de la Role, que en este caso es `rbac.authorization.k8s.io`. + +No es nada complicado, y una vez más, está muy claro lo que estamos haciendo, que es darle acceso al usuario `developer` con la Role `developer` en el espacio de nombres `dev`. + +Ahora que tenemos nuestro archivo creado, apliquémoslo: + +```bash +kubectl apply -f developer-rolebinding.yaml +``` + +Para verificar si nuestro RoleBinding se creó correctamente, enumeremos los RoleBindings en el clúster: + +```bash +kubectl get rolebindings -n dev +``` + +La salida será: + +```bash +NAME ROLE AGE +DeveloperRoleBinding Role/developer 9s +``` + +Para ver los detalles del RoleBinding, utilizaremos el comando `kubectl describe`: + +```bash +kubectl describe rolebinding DeveloperRoleBinding -n dev +``` + +La salida será algo similar a esto: + +```bash +Name: DeveloperRoleBinding +Labels: +Annotations: +Role: + Kind: Role + Name: developer +Subjects: + Kind Name Namespace + ---- ---- --------- + User developer +``` + +Listo, el RoleBinding se ha creado con éxito. Ahora, vamos a probar nuestro usuario. + +#### Agregando el certificado del usuario al kubeconfig + +Ahora que hemos creado con éxito nuestro usuario, debemos agregar el certificado del usuario al kubeconfig para poder acceder al clúster con nuestro usuario. + +Para hacerlo, utilizaremos el comando `kubectl config set-credentials`: + +```bash +kubectl config set-credentials developer --client-certificate=developer.crt --client-key=developer.key --embed-certs=true +``` + +El comando `kubectl config set-credentials` se utiliza para agregar un nuevo usuario al kubeconfig y recibe los siguientes parámetros: + +- `--client-certificate`: Ruta del certificado del usuario. +- `--client-key`: Ruta de la clave del usuario. +- `--embed-certs`: Indica si el certificado debe incrustarse en el kubeconfig. + +En nuestro caso, estamos proporcionando la ruta del certificado y la clave del usuario, y estamos indicando que el certificado debe incrustarse en el kubeconfig. + +Ahora debemos crear un contexto para nuestro usuario utilizando el comando `kubectl config set-context`: + +```bash +kubectl config set-context developer --cluster=NOMBRE-DEL-CLÚSTER --namespace=dev --user=developer +``` + +Si no recuerdas qué es un contexto en Kubernetes, te ayudaré a recordarlo. Un contexto es un conjunto de configuraciones que define el acceso a un clúster, es decir, un contexto está compuesto por un clúster, un usuario y un espacio de nombres (namespace). Cuando creas un nuevo usuario, debes crear un nuevo contexto para él, de modo que pueda acceder al clúster. + +Para obtener los nombres de los clústeres, puedes utilizar el comando `kubectl config get-clusters`, de esta manera podrás obtener el nombre del clúster que deseas utilizar. + +Con esto, nuestro nuevo usuario está listo para ser utilizado, pero antes verifiquemos si funciona correctamente. + +#### Accediendo al clúster con el nuevo usuario + +Una vez que hemos creado nuestro usuario y que el certificado del usuario se ha agregado al kubeconfig, y que ya tenemos un contexto para el usuario, podemos probar el acceso al clúster. + +Para hacerlo, debemos cambiar al contexto del usuario utilizando el comando `kubectl config use-context`: + +```bash +kubectl config use-context developer +``` From f57b4e80095212580890e1988b4e21fe5807b4e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Jorge=20Viana=20de=20Bragan=C3=A7a=20Menezes?= <25741145+pedrojorgeviana@users.noreply.github.com> Date: Sun, 4 Feb 2024 19:40:29 +0100 Subject: [PATCH 2/2] Update issue#212 --- es/README.md | 2 +- es/day-13/README.md | 1 + es/day-14/README.md | 7 +++---- es/day-15/README.md | 5 ++--- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/es/README.md b/es/README.md index effe34b0..b421866a 100644 --- a/es/README.md +++ b/es/README.md @@ -467,7 +467,7 @@ TO DO - [Verbos](day-15/#verbos) - [Agregando el certificado del usuario al kubeconfig](day-15/#agregando-el-certificado-del-usuario-al-kubeconfig) - [Accediendo al clúster con el nuevo usuario](day-15/#accediendo-al-clúster-con-el-nuevo-usuario) - - +
  diff --git a/es/day-13/README.md b/es/day-13/README.md index f61a0dc7..f673e59e 100644 --- a/es/day-13/README.md +++ b/es/day-13/README.md @@ -143,6 +143,7 @@ Si no especifica ningún namespace en la política o utiliza `ClusterPolicy`, Ky 1. **Política de Límites de Recursos:** Asegurar que todos los contenedores en un Pod tengan límites de CPU y memoria definidos. Esto puede ser importante para evitar el uso excesivo de recursos en un clúster compartido. **Archivo `require-resources-limits.yaml`:** + ```yaml apiVersion: kyverno.io/v1 kind: ClusterPolicy diff --git a/es/day-14/README.md b/es/day-14/README.md index 05e00b2c..2eaa0dac 100644 --- a/es/day-14/README.md +++ b/es/day-14/README.md @@ -221,7 +221,6 @@ Aquí estamos haciendo lo siguiente: La salida del comando debería verse algo como esto: - ```bash 2024-01-26 16:12:39 [ℹ] eksctl version 0.168.0 2024-01-26 16:12:39 [ℹ] using region us-east-1 @@ -326,7 +325,7 @@ Recuerda que debes reemplazar el nombre del clúster y la versión del CNI por l Puedes consultar el enlace a continuación para verificar la versión del CNI que debes usar: -https://docs.aws.amazon.com/eks/latest/userguide/managing-vpc-cni.html + Debes elegir la versión del CNI de acuerdo con la versión de Kubernetes que estás utilizando, así que tenlo en cuenta. @@ -362,8 +361,8 @@ La salida debería verse algo como esto: 2024-01-28 14:16:44 [ℹ] Kubernetes version "1.28" in use by cluster "eks-cluster" 2024-01-28 14:16:44 [ℹ] getting all addons 2024-01-28 14:16:45 [ℹ] to see issues for an addon run `eksctl get addon --name --cluster ` -NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE CONFIGURATION VALUES -vpc-cni v1.16.0-eksbuild.1 ACTIVE 0 v1.16.2-eksbuild.1 +NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE CONFIGURATION VALUES +vpc-cni v1.16.0-eksbuild.1 ACTIVE 0 v1.16.2-eksbuild.1 ``` O puedes acceder a la consola de AWS y verificar los complementos instalados en tu clúster, como se muestra en la siguiente imagen: diff --git a/es/day-15/README.md b/es/day-15/README.md index 52acd049..7a3c0b06 100644 --- a/es/day-15/README.md +++ b/es/day-15/README.md @@ -3,6 +3,7 @@ ## Día 15: Descomplicando RBAC e controle de acesso no Kubernetes ## Contenido del Día 15 + - [Simplificando Kubernetes](#simplificando-kubernetes) - [Día 15: Descomplicando RBAC e controle de acesso no Kubernetes](#día-15-descomplicando-rbac-e-controle-de-acesso-no-kubernetes) - [Contenido del Día 15](#contenido-del-día-15) @@ -100,6 +101,7 @@ En el archivo anterior, estamos definiendo la siguiente información: - `spec.expirationSeconds`: El tiempo de cad ucidad del certificado, que en este caso es de 1 año. + - `spec.usages`: El tipo de uso del certificado, que en este caso es `client auth` (autenticación de cliente). Una vez que haya creado este archivo y copiado el contenido del certificado en base64, puede aplicar el recurso utilizando el siguiente comando: @@ -110,7 +112,6 @@ kubectl apply -f developer.yaml Esto enviará la solicitud de firma de certificado al clúster Kubernetes para que sea firmada y se genere el certificado final para el usuario "developer". - ```bash kubectl apply -f developer.yaml ``` @@ -322,7 +323,6 @@ kubectl api-resources --namespaced=false El resultado será similar a lo siguiente: - ```bash NAME SHORTNAMES APIVERSION NAMESPACED KIND componentstatuses cs v1 false ComponentStatus @@ -367,7 +367,6 @@ kubectl api-resources -o wide El resultado se verá similar a esto: - ```bash NAME SHORTNAMES APIVERSION NAMESPACED KIND VERBS CATEGORIES bindings v1 true Binding create