{"id":15968866,"url":"https://github.com/iliangithub/aws_kubernetes_eks","last_synced_at":"2025-04-04T14:26:04.319Z","repository":{"id":257235257,"uuid":"856820085","full_name":"iliangithub/AWS_Kubernetes_EKS","owner":"iliangithub","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-24T16:47:34.000Z","size":122,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T00:19:12.347Z","etag":null,"topics":["aws","cluster","eks-cluster","pvc"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iliangithub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-13T09:11:31.000Z","updated_at":"2024-09-24T16:47:37.000Z","dependencies_parsed_at":"2024-10-30T04:02:29.908Z","dependency_job_id":null,"html_url":"https://github.com/iliangithub/AWS_Kubernetes_EKS","commit_stats":null,"previous_names":["iliangithub/aws_kubernetes_eks"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iliangithub%2FAWS_Kubernetes_EKS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iliangithub%2FAWS_Kubernetes_EKS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iliangithub%2FAWS_Kubernetes_EKS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iliangithub%2FAWS_Kubernetes_EKS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iliangithub","download_url":"https://codeload.github.com/iliangithub/AWS_Kubernetes_EKS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247192465,"owners_count":20899102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cluster","eks-cluster","pvc"],"created_at":"2024-10-07T19:04:20.321Z","updated_at":"2025-04-04T14:26:04.283Z","avatar_url":"https://github.com/iliangithub.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 0.0 Introducción (Opcional TODO, hasta el 1.0 ):\nAWS (Amazon Web Services) es una plataforma en la nube que ofrece una amplia gama de servicios como almacenamiento, computación y bases de datos, permitiendo a las empresas construir y gestionar aplicaciones sin necesidad de infraestructura física.\n\nEKS (Elastic Kubernetes Service) es uno de los muchos servicios dentro de AWS, que facilita el despliegue y la gestión de aplicaciones en contenedores mediante Kubernetes. Con EKS, los usuarios pueden ejecutar clústeres de Kubernetes de manera eficiente, escalando automáticamente y aprovechando la infraestructura segura y confiable de AWS sin tener que gestionar manualmente los componentes de Kubernetes.\n# 0.1 Registrarme:\n\nVoy a elegir este nivel de soporte:\n\n![image](https://github.com/user-attachments/assets/b43328e4-4c52-4e83-8eb4-97f7593a96a3)\n\n\n## 0.1.1 Después de registrarme por primera vez:\n\n![image](https://github.com/user-attachments/assets/ea9a69cd-3a75-4e78-a60f-6eef584edcb9)\n\nEsta sería la página principal que voy a ver\n\nPara utilizar el EKS (Elastic Kubernetes Service) (El gestor de Kubernetes de Amazon)\n\n# 0.2 Prerequisitos (Opcionales, pero importantes):\n\n## 0.2.1 IAM (Identity and Access Management) y MFA\n\n\u003e [!IMPORTANT]\n\u003e Cosas que tenemos que tener en cuenta, de la misma manera, que en MySQL, no accedemos a la base de datos con el usuario root, si no que creamos un usuario con bastantes privilegios, \u003epues aquí es casi lo mismo.\n\n**Cuando creamos una cuenta en AWS, lo que creamos es en realidad, una cuenta ROOT**. Y cada vez que accedemos, accederemos desde la root. Si cerramos sesión, y queremos volver a iniciar sesión:\n\n![image](https://github.com/user-attachments/assets/b8729a36-8565-4532-b063-1cff1637eca9)\n\nEn esta página, tenemos dos opciones, el usuario raíz (root) o un usuario de la IAM. Si intentamos iniciar sesión con aquel usuario, que creamos al principio DESDE EL APARTADO DE IAM, no nos va a dejar, porque como hemos dicho, ese usuario no es de la IAM, es un usuario root.\n\nVamos a crear entonces, un usuario de la IAM.\n\n![image](https://github.com/user-attachments/assets/9f5aa822-2601-49f8-b6f1-ba0ca27abf40)\n\nY vamos a meternos y este es el panel del IAM:\n\n![image](https://github.com/user-attachments/assets/8b644efa-6b6a-4101-b537-a3159369fc0c)\n\n**Lo primero que nos aparece es de hecho no crear el usuario si no, el Autenticación de múltiples factores**, se trata no solo inicies sesión con el correo y la contraseña, si no, un paso más, por temas de seguridad, para verificar que realmente la persona pues eres tú.\n\n![image](https://github.com/user-attachments/assets/fc4f4fa8-8b89-4402-b5b8-a1e0082d6fe6)\n\nDe hecho, estoy obligado a hacerlo, de aquí a 29 días...\n### MFA\nUna vez, le haya dado click, a \"Agregar MFA\" y esté dentro tengo 3 opciones para autenticarme:\n- Clave de paso o clave de seguridad\n- **Aplicación del autenticador**\n- Token de contraseña temporal de un solo uso (TOTP) de hardware\n\nPienso elegir la \"Aplicación\", necesitamos una app en el movil, esa app tendrá sus mecanismos para saber que eres tú (en mi caso, hace tiempo en una empresa, me llamaron, me pidieron una foto con mi DNI, etc. Depende mucho de la app, y de la persona que va a autenticarte), generará un token aleatorio, y cada vez que iniciemos sesión (probablemente con el root) pues nos lo pedirá.\n\nTambién tengo que ponerle un nombre al dispositivo ¿? No sé realmente que es ni para que sirve.\n\n![image](https://github.com/user-attachments/assets/03f01fde-728e-448f-a1a2-734c332311a3)\n\nLe damos a siguiente, y ahora ya tenemos que instalar la aplicación. Entre algunas está el Google Authenticator\n\n![image](https://github.com/user-attachments/assets/a2fd2e07-09af-459f-8f59-13093ff0fb91)\n\nEntonces, lo hemos descargado y he iniciado sesión con la cuenta de GitHub. Para asociar el google authenticator, solo necesitamos escanear el QR, el QR es el que está en AWS.\n\nComo he utilizado el Google Authenticator, le doy al \"+\" y escanear código QR.\n\n![image](https://github.com/user-attachments/assets/97a06191-49fd-482a-9b7b-9530d4d1e9fc)\n\nY ya estará enlazado. Cada 20 segundos, creará un código aleatorio de 6 dígitos. Ponemos primero 1, esperamos los 20 segundos, generará otro y lo ponemos y eso es todo.\n\nVolviendo al panel del IAM, tiene que aparecer así. (*Hay que refrescar*)\n\n![image](https://github.com/user-attachments/assets/7bf2356c-9701-4ecc-9e62-a66f0c8cbc8f)\n\n### Para crear un usuario\n\nUna vez hemos puesto el MFA al root, en la parte izquierda del panel de IAM, encontraremos Usuarios, le damos click.\nY luego crear usuario.\n\n![image](https://github.com/user-attachments/assets/2f003521-264b-45fd-a79b-f4970a1a4be6)\n\nNos piden, datos del User, nombre, contraseña, etc.\n\n![image](https://github.com/user-attachments/assets/d8441da5-853b-4332-8589-5949fd9bb87a)\n\nLe asignamos permisos:\n\n![image](https://github.com/user-attachments/assets/60153cf9-dfdf-4129-893b-c9b18880cb75)\n\nEs importante revisarlo, cuando estemos seguros lo creamos:\n\n![image](https://github.com/user-attachments/assets/d94957f8-f169-45ba-9e47-fe609e98c27c)\n\nListo, esta es la pantlla que deberíamos ver:\n\n![image](https://github.com/user-attachments/assets/7233fc09-22db-4aba-ba1a-6f015588e226)\n\n\u003e [!IMPORTANT]\n\u003e Vamos a descargar el archivo .csv. Recordemos, que la contraseña, no la hemos puesto nosotros, si no que es una generada aleatoriamente\n\u003e Dentro aparecerá la contraseña.\n\u003e\n\nAhora necesitamos crear un MFA para el usuario que acabamos de crear.\n\n![image](https://github.com/user-attachments/assets/bddcd0bb-de62-4dea-aa5b-4f89a02884a4)\n\nLe damos click al nombre, ahora vamos a \"Credenciales de Seguridad\" y en el apartado de MFA \"asginar dispositivo\".\n\n![image](https://github.com/user-attachments/assets/7e9fc073-f65a-41d6-ae8b-fc05b5d46226)\n\n![image](https://github.com/user-attachments/assets/ccc3e354-4ccb-4d20-9be2-c4acb94f9417)\n\nEl nombre que le voy a poner es, \"mi_telefono2\".\n\n\u003e [!WARNING]\n\u003e No se puede utilizar el mismo nombre que utilizamos antes.\n\u003e\n\n## 0.2.2 Crear una alarma para la facturación. (CloudWatch).\n\nEl servicio que vamos a utilizar es **CloudWatch**\nPero antes, tenemos que habilitar un par de cosas, en el apartado de facturación\n\n![image](https://github.com/user-attachments/assets/ad1e10b1-0f43-4d3c-858a-8e77df93c7eb)\n\nUna vez dentro, me aparece pues lo que le debo a AWS (*Porque primero hice el clúster y luego todo esto 24/09/2024*)\n![image](https://github.com/user-attachments/assets/33d3e12e-7516-4953-98bf-0912a68613dd)\n\nPara ver a más detalle de donde sale eso, nos vamos al apartado de facturas:\n\n![image](https://github.com/user-attachments/assets/0169569e-329c-4df8-ad19-f45f50475081)\n\n\u003e[!IMPORTANT]\n\u003e A mi, no me aparece el apartado \"Billing Preferences\", teniendo la página en español.\n\u003e La he cambiando en inglés, y si aparece. Y desde esa página he vuelto a cambiar el idioma.\n\u003e\n\n![image](https://github.com/user-attachments/assets/6898eba6-3e44-4b47-b6be-1f11d2f24776)\n\nVoy a darle a \"editar\" en el apartado de \"Preferencias de entrega de facturas\".\n\n![image](https://github.com/user-attachments/assets/018b8a5e-2ab6-4347-803e-8d6abfcd1475)\n\nEfectivamente, queremos que nos mande las facturas por correo.\n\nTambién, en preferencias de alertas:\n\n![image](https://github.com/user-attachments/assets/383e2bb8-2e8f-4d11-8706-043e7edfec94)\n\nAhora vamos a buscar el servicio **CloudWatch**\n\n### CloudWatch\n\n![image](https://github.com/user-attachments/assets/fe5d6d88-b6fa-464d-9b9a-d3dbc2072f6f)\n\nY este es el panel del CloudWatch, vamos a \"Alarmas\" --\u003e \"Todas las alarmas\". He marcado arriba a la derecha que el servidor es \"Estocolmo\". (*No por casualidad*).\n\n\u003e[!WARNING]\n\u003e De hecho, **Tenemos que cambiarle el Estocolmo, o el servidor que tengamos y poner el EE.UU. Este (Norte de Virginia)\nus-east-1**, Si no, más adelante, a la hora de crear los parámetros que quiere monitorear, no aparecerá el que queremos, aparecerá con el North Virginia, pero no con el Estocolmo.\n\u003e\n\n![image](https://github.com/user-attachments/assets/7aac4820-3ba5-4062-b282-f45e8fa8540a)\n\nCreamos la alarma:\n\n![image](https://github.com/user-attachments/assets/016b89b4-c4dc-4e9d-bb78-9358a6731588)\n\nY seleccionamos la \"métrica\".\n\n![image](https://github.com/user-attachments/assets/136d829e-f89b-4464-acf3-45583e2b062d)\n\nBuscamos el \"Cargo total estimado\".\n\n![image](https://github.com/user-attachments/assets/d857a855-df68-43bc-ad80-ade622c6b2c4)\n\nSeleccionamos divisa, el USD y luego \"Seleccionar Métrica\".\n\nLuego, voy a establacer **sólamente**, que me avise cuando supere los 5€:\n\n![image](https://github.com/user-attachments/assets/f0082dbc-4855-47d7-9552-393b8aa4868b)\n\nA continuación, tengo que crear el \"Topic\".\n\n![image](https://github.com/user-attachments/assets/7e909bb3-1694-47b2-971c-a907b0c43c5e)\n\nNo voy a modificar nada más, le doy a siguiente.\n\n![image](https://github.com/user-attachments/assets/92e15e51-f443-42ce-a8e3-1157256bfcd8)\n\nLe doy un nombre a la alarma, y una descripción. Reviso en la vista previa y le doy a crear.\n\nNos tiene que haber llegado un correo a mi cuenta de correo del AWS, para confirmar:\n\n![image](https://github.com/user-attachments/assets/63e886b4-4ded-4035-9882-07cedb139e35)\n\n![image](https://github.com/user-attachments/assets/e4dc81c0-003b-4a04-92c3-a67ec6d7c83c)\n\n\n## 0.2.3 Crear un certificado (Opcional para esto).\n\nAhora es turno de crear el certificado.\n### ¿Qué es un certificado y para qué lo necesitamos?\n\n### Prerequisitos.\n- Tener un dominio.\n  \n### Creando el certificado.\nPara ello, vamos a utilizar este servicio:\n\n![image](https://github.com/user-attachments/assets/493da3ca-4601-4c61-a809-2758fb5d5537)\n\n# 1.0 Crear una VPC (Amazon Virtual Private Cloud)(Parte IMPORTANTE, NO OPCIONAL)\n\u003e [!IMPORTANT]\n\u003e **ESTO ES UN REQUISITO ESENCIAL PARA PODER CREAR MI PROPIO CLÚSTER**\n\u003e\n\nPrimero necesitamos crear un VPC\n![image](https://github.com/user-attachments/assets/ef3f9767-8f10-490a-8936-84766311986d)\n\nLo buscamos arriba en la barra de búsqueda y ahora pues nos aparecerá esto:\n\n![image](https://github.com/user-attachments/assets/9e2be0f1-5aac-4240-8634-e4da7a2ba5db)\n\nPues ahora, vamos a crear una red privada.\n\n![image](https://github.com/user-attachments/assets/559070af-3c4b-4fc1-aaef-0a7d562932d7)\n\n![image](https://github.com/user-attachments/assets/afa01a11-12d5-4545-9154-45f281ac1cd0)\n\n\u003e [!IMPORTANT]\n\u003e Por algún motivo, en mis PVC podemos observar que ya hay una creada con la dirección IP 172.31.0.0\n\u003e\n\u003e No sé porqué está creada, luego creamos una desde 0.\n\nVamos a echar un rápido vistazo a lo que vemos en esta ventana y es básicamente una PVC con sus características el ID, el estado, el CIDR IPv4 etc.\n\n\u003e Nos aparece el CIDR (Classless Inter-Domain Routing) es un método para asignar y gestionar direcciones IP que permite una mayor flexibilidad en la forma en que se agrupan las direcciones de red. \n\u003e\n\u003eCIDR se introdujo para reemplazar el antiguo sistema de clases de red (A, B, C) y ayudar a mejorar la eficiencia en la asignación de direcciones IP y la agregación de rutas en Internet.\n\u003e\n\nSi le damos a la VPC esa en cuestión, si le damos a la casilla nos aparecerá abajo:\n\n![image](https://github.com/user-attachments/assets/90ee6f9a-a470-456d-ba18-06e6e034bbb5)\n\nTambién se ve muy pequeñito así que lo voy a desplegar/abrir para que se vea un poco mejor.\n\n![image](https://github.com/user-attachments/assets/5f2c4978-9ddf-4901-8628-c7a6b4867f7e)\n\nY así ya se ve mejor, voy a darle al apartado de \"Mapa de recursos\".\n\n![image](https://github.com/user-attachments/assets/83b3882c-55eb-4821-b4cb-9e072456f81d)\n\nVoy a ponerle un nombre, porque sencillamente no lo tiene, como podemos comprobar.\n\n![image](https://github.com/user-attachments/assets/9bdd8e5e-ff4f-4839-ac80-2de82c232038)\n\n\n![image](https://github.com/user-attachments/assets/f1a9d52e-8d80-4528-b736-312cf7a54e3b)\n\nComo podemos comprobar, ya se ha cambiado:\n\n![image](https://github.com/user-attachments/assets/cf2f678d-2574-41eb-840e-91c768a1725c)\n\nEl resto de cosas, como gateway, etc. De momento, no las vamos a tocar. \n\n## 1.1 Vamos a crearlo crear nosotros una VPC propia.\n\n![image](https://github.com/user-attachments/assets/c1e05ea4-6668-403f-909f-a4ca357daeea)\n\nAhora, nos mandará a esta otra pestaña, **voy a seleccionar VPC y más**:\n\n![image](https://github.com/user-attachments/assets/d1307197-2783-45e3-b731-153ca128238d)\n\nVamos a darle un \n- Nombre\n- La IP por defecto, si no le ponemos nosotros una\n- NO vamos a utilizar IPv6\n- Número de zonas de disponibilidad (AZ), por defecto, me viene 2, yo voy a seleccionar 3\n- Poner a 0 las subredes privadas, solo públicas y están puesto a 3.\n\n\n![image](https://github.com/user-attachments/assets/b87c670e-5bee-49f4-b842-5ddfcf9be0ee)\n\n![image](https://github.com/user-attachments/assets/2d612b1b-8e49-45e2-bb25-1027cd6d22ea)\n\nY la creamos, abajo del todo botón naranja:\n\n![image](https://github.com/user-attachments/assets/cfb57016-cc2c-47e3-9076-e627aaa7b9ff)\n\n\n![image](https://github.com/user-attachments/assets/25dd670a-00fb-4ba2-a983-0b000bdd08e7)\n\nSi quisieramos eliminarla, tan solo necesitamos:\n\n![image](https://github.com/user-attachments/assets/d5b1333a-0473-4fe4-abaf-30ceda0a2b30)\n\n## 1.2 Ahora voy a editar las subredes o subnets:\n\nA la izquierda aparece una lista larga de objetos, \n\n- Nube virtual privada\n- Sus VPC\n- **Subredes**\n- Tablas de enrutamiento\n- Puertas de enlace de Internet\n- Puerta de enlace de Internet de solo salida\n- Conjuntos de opciones de DHCP\n- Direcciones IP elásticas\n- Listas de prefijos administradas\n- Puntos de conexión\n- Servicios de punto de conexión\n\n![image](https://github.com/user-attachments/assets/f9e670ad-2f01-4031-989a-c33f6710df4c)\n\nVoy a editar la subred 10.0.0.0 \n\n![image](https://github.com/user-attachments/assets/257ee6cc-d9ed-44cf-bd17-21a67c25409f)\n\nY habilitamos el \"Enable auto-assign public IPv4 address, abajo del todo le damos a guardar.\n\n![image](https://github.com/user-attachments/assets/3353921f-685e-45d2-be16-dadcf0748ba1)\n\n# 2.0 Crear el clúster con EKS\n\nNos vamos arriba a la barra de búsqueda y buscamos por EKS:\n\n![image](https://github.com/user-attachments/assets/a9aaf45e-b7bc-4b05-bae7-b03663c48ce1)\n\nTambién podríamos llegar a utilizar ECS:\n\n![image](https://github.com/user-attachments/assets/fb3bcc0e-dc4b-4287-be62-0a5462201ec1)\n\nPero ahora mismo va a ser el EKS.\n\n![image](https://github.com/user-attachments/assets/dc5c3107-c3f2-42ec-a9f7-42ba1edfcaff)\n\nAsí que vamos a darle a crear.\n\n### Parte 1. Creación Clúster (Configurar clúster)\n\n![image](https://github.com/user-attachments/assets/868e23e1-e20c-4505-b79c-a81f7b4cc051)\n\nLo primero que nos pide es ponerle un nombre al Clúster de Kubernetes y asignarle un rol.\n\n![image](https://github.com/user-attachments/assets/c6e3d2e2-1717-4a5e-a8d0-f0085a592435)\n\nComo no tenemos un rol vamos a crearlo:\n\n![image](https://github.com/user-attachments/assets/04a2b773-d2d5-48c3-9801-5d59971360d8)\n\ny caso de uso, pues EKS - Clúster:\n\n![image](https://github.com/user-attachments/assets/3f5e63c7-1285-44df-9fb4-4fddb9bdc05c)\n\nLe daremos a siguiente:\n\n![image](https://github.com/user-attachments/assets/b8b6eb9a-dab0-41b2-b626-e9c905ae5c53)\n\ny estos son los permisos que va a dar Amazon al rol, si lo desplegamos los podemos ver a detalle, es un archivo JSON:\n\n![image](https://github.com/user-attachments/assets/dbbd26e2-7991-4faf-baa2-c2f9a69eac9c)\n\nLe daremos a siguiente y pondremos el nombre del rol.\n\n![image](https://github.com/user-attachments/assets/d00cce81-4374-4710-9e6b-c5f72fdc77cf)\n\nLo creamos. Vamos a volver a la página de creación del clúster, refrescamos la parte de roles y simplemente lo seleccionamos.\n\n![image](https://github.com/user-attachments/assets/abf2ee01-aeec-4eda-b00a-a5e206b5d143)\n\nEl resto no lo pienso tocar:\n\n- Configuración de la versión de Kubernetes\n- Acceso al clúster\n- Cifrado de secretos\n- Etiquetas (0)\n\n### Parte 2. Creación Clúster (Especificar redes)\n\nAl dar siguiente, vamos a especificar las redes:\n\n![image](https://github.com/user-attachments/assets/76936fa9-bba3-4e5a-8425-59fc9a4c3295)\n\ny en cuanto a las subredes pues elegimos las que correspondan a ese VPC. También añadimos un SecurityGroup, el por defecto.\n\n![image](https://github.com/user-attachments/assets/7b9a5d68-3170-4d68-b441-0dc4f9b40704)\n\ny el acceso va a ser SOLO público.\n\n![image](https://github.com/user-attachments/assets/e8594105-d864-4bbc-9665-a50a02db447c)\n\n### Parte 3. Creación Clúster (Configurar la observabilidad)\n\nAhora estamos en esta otra pantalla:\n\n![image](https://github.com/user-attachments/assets/89411d24-30a1-403b-b328-58109f39ae0a)\n\nEn observabilidad no vamos a hacer nada.\n\n![image](https://github.com/user-attachments/assets/0ee057a6-c88f-438e-a6f5-c1bf7d3a6aca)\n\nTampoco vamos a habilitar ninguna opción de \"Registro del plano de control\"\n\n### Parte 4. Creación Clúster (Seleccionar complementos)\n\nLe damos a siguiente y ya estamos en el Paso 4, seleccionar complementos:\n\n\u003e Los complementos de Amazon EKS proporcionan una lista seleccionada de software operativo que se puede habilitar en su clúster. Todo el software incluye los últimos parches de seguridad y correcciones de errores y AWS lo valida para trabajar con EKS. Los complementos facilitan el aprovisionamiento de un clúster con las herramientas operativas necesarias para que pueda \u003ecomenzar a ejecutar sus aplicaciones.\n\u003e \n\u003e - De forma predeterminada, los complementos que requieran acceso a otros servicios de AWS intentarán utilizar los permisos asociados al rol de IAM del nodo de trabajo. Como práctica recomendada, puede utilizar roles de IAM para las cuentas de servicio para asociar un rol de IAM a un complemento de EKS que requiera permisos de IAM. A continuación, ya no tendrá que proporcionar permisos extendidos al rol de IAM del nodo para que el complemento pueda llamar a las API de AWS. Puede transferir un rol de IAM al complemento como parte de su configuración al iniciarlo o en cualquier momento como una actualización.\n\u003e - Cuando se utilizan roles de IAM para cuentas de servicio, la relación de confianza se establece en el clúster y la cuenta de servicio, de modo que cada combinación de clústeres y complementos requiere un rol único.\n\u003e\n\n![image](https://github.com/user-attachments/assets/a0286034-6a9e-449b-8987-32a25ee95b0b)\n\n### Parte 5. Creación Clúster (Configurar las opciones de complementos seleccionados)\n\nEn esta parte es para configurar lo que antes hemos añadido de complementos, los voy a dejar por defecto:\n\n![image](https://github.com/user-attachments/assets/99524350-26c2-498e-8e14-c9789e05fdc5)\n\n### Parte 6. Creación Clúster (Revisar y crear)\n\nVamos a ver que tengamos todo como queríamos y lo creamos.\n\nYa está el clúster creado, ahora vamos a esperar que termine de \"crearse\".\n![image](https://github.com/user-attachments/assets/14a6d849-1873-44dc-ad27-4c4c93d03c98)\n\nRefrescamos la página hasta que aparezca, activo:\n\n![image](https://github.com/user-attachments/assets/da350e42-fb10-438a-902d-e0e7f7453fc1)\n\n\n## 2.1 Crear un nodo.\n\nAhora nos toca crear los nodos del clúster:\n\n![image](https://github.com/user-attachments/assets/c4416a51-c67a-498a-b3d1-ffea7352efb0)\n\n![image](https://github.com/user-attachments/assets/fa474902-1580-496c-95a3-73dc02ff3de0)\n\nY bajamos hasta llegar a Grupos de Nodo, **vamos a crear un Group Node**\n\n![image](https://github.com/user-attachments/assets/f2d0814a-dd5b-4575-a67b-116f22aaab19)\n\ny vamos a necesitar crear otro Rol, en nuestro caso es un EC2.\n\n### Parte 1. Seleccionar entidad de confianza.\n\n![image](https://github.com/user-attachments/assets/edd52329-3260-4e74-b4e6-6e7a3c1537d2)\n\n![image](https://github.com/user-attachments/assets/2106de0c-6068-42fd-bf01-0ce4a2c29b38)\n\n### Parte 2. Agregar permisos.\n\nEn cuanto a los permisos, buscamos este:\n\n- AmazonEKSWorkerNodePolicy\n- AmazonEKS_CNI_Policy\n- AmazonEC2ContainerRegistryReadOnly\n\n### Parte 3. Asignar nombre, revisar y crear.\n\nPor último, asignarle un nombre.\n\n![image](https://github.com/user-attachments/assets/d81dc888-1399-4371-8639-f5ff08875cc7)\n\nVolvemos a la parte de crear un nodo:\n\n## Parte 1. Crear Grupo de Nodos. Configurar grupo de nodos.\n\nSolo voy a asignarle el nombre y el rol que acabamos de crear.\n\n## Parte 2. Crear Grupo de Nodos. Establecer la configuración informática y de escalado.\n\n\u003e [!WARNING]\n\u003e Esta parte es importante y afecta directamente al precio:\n\u003e\n\n![image](https://github.com/user-attachments/assets/99f45bb1-2452-489f-82dd-6df6ae4245a7)\n\n![image](https://github.com/user-attachments/assets/b34c6647-80e8-4ab8-a913-dc8f7c75af73)\n\n\n## Parte 3. Crear Grupo de Nodos. Especificar redes.\n\nNo tiene mucha ciencia, seleccionamos nuestras subredes.\n\n## Parte 4. Crear Grupo de Nodos. Revisar y crear.\n\nY nada, revisamos, creamos y a esperar un rato.\n\n**En mi caso, me da este error**\n\n![image](https://github.com/user-attachments/assets/270fed85-107e-476d-9b4a-7e2d9b17224f)\n\nBastante sin sentido, porque antes hemos habilitado la opción esa de la subred.\n\nBásicamente tengo que volver al VPC, luego buscar las 3 subredes y comprobar que las 3 tengan la opción esa, habilitada.\n\nAsí que eso, borramos el grupo y lo creamos de nuevo.\n\n![image](https://github.com/user-attachments/assets/90f56e64-8903-44d6-8e5b-74ee90aa7158)\n\n# 3. Usar el CloudShell de AWS para agregar el nodo al clúster.\n\n![image](https://github.com/user-attachments/assets/e4aa74dd-843d-42b2-ba57-65b675f34695)\n\ntarda un poco:\n\n![image](https://github.com/user-attachments/assets/6ae3d900-9044-487e-a6c7-94c6df659e0b)\n\nEl CLI es diferente al de Linux, si hago un `aws help` me aparecerán pues todos los comandos, para salir de allí tengo que presionar `**Q**`\n\n```\naws eks update-kubeconfig --name cluster-ilian-primero --alias prueba-ilian\n```\n\nen \"name\" va el nombre del cluster. Ahora hacemos un \n\n```\nkubectl get nodes\n```\n\n![image](https://github.com/user-attachments/assets/37670426-5359-429a-9192-755b678a57c9)\n\n# 4. Detener la máquina.\n\n\u003e[!WARNING]\n\u003eCargos por el clúster de EKS:\n\u003e\nAmazon te seguirá cobrando una tarifa fija por cada clúster de EKS que tengas activo, incluso si no tienes nodos en funcionamiento. El costo de un clúster de EKS es aproximadamente 0,10 USD por hora, lo que equivale a unos 72 USD al mes por clúster.\n\u003e\n\nAmazon EKS no permite detener un clúster directamente, pero puedes eliminarlo o detener los nodos de trabajo (EC2) asociados.\n\n```\naws eks delete-cluster --name cluster-ilian-primero\n```\n\ncomo el comando es de literalmente eliminar el clúster, me avisa que el comando es peligroso:\n\n![image](https://github.com/user-attachments/assets/e213f9ac-36d9-475a-bdae-8c7db435c1d8)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filiangithub%2Faws_kubernetes_eks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filiangithub%2Faws_kubernetes_eks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filiangithub%2Faws_kubernetes_eks/lists"}