Creación de clúster Kubernetes utilizando el servicio EKS de Amazon

Creación de clúster Kubernetes utilizando el servicio EKS de Amazon
Kubernetes es un cuerpo complejo de software. Está destinado a un clúster distribuido de nodos de cómputo y está diseñado para soportar sobretensiones en la carga de trabajo, fallas de enlace y fallas en el nodo. También es un proyecto de rápido movimiento con cambios constantes (y a menudo incompatibles) y dependencias de terceros.

Dada toda la complejidad que lo subyace, es muy difícil y costoso que una organización se autohenda y mantenga un clúster de Kubernetes y ejecute sus aplicaciones además de. Si no está en el negocio de operar clústeres de Kubernetes, es posible que desee utilizar el Servicio Elástico Kubernetes (EKS) de Amazon para implementar sus aplicaciones. Reducirá en gran medida el costo de la operación y puede descansar tranquilo sabiendo que los desarrolladores y operadores experimentados tienen a su cargo, en su lugar.

Requisitos previos

  • Una cuenta de AWS con acceso a la consola y permisos apropiados. Póngase en contacto con el operador AWS de su empresa para obtener los privilegios apropiados.
  • Un usuario de AWS IAM con acceso programático. Actuaremos como este usuario al controlar nuestro clúster Kubernetes. Así es como puede instalar y configurar AWS CLI para la cuenta bajo la cual se creará el clúster EKS.
  • Una comprensión básica de Kubernetes

Creación de un clúster de Kubernetes

También puede crear el clúster a través de CLI, pero la mayoría de los nuevos usuarios encontrarían la consola gráfica más amigable. Entonces estaremos usando eso, en su lugar. Suponiendo que haya iniciado sesión en su consola de AWS, podemos comenzar yendo a Servicios desde la esquina superior derecha y hacer clic en EKS Desde el menú desplegable:

El próximo menú mostrará la página de introducción de AWS, vamos a la Racimos Opción debajo del submenú EKS.

Aquí puede ver la lista de todos los clústeres de Kubernetes creados en su cuenta. Como no hay ninguno, creemos uno.

Haga clic en Crear clúster. Déle un nombre, seleccione la versión de Kubernetes que desee, en el momento de esta versión de escritura 1.11 es compatible con Amazon. A continuación, haga clic en Nombre de rol, Porque necesitamos crear un papel que necesitemos para proveedor de Amazon EKS para que pueda administrar nuestro clúster.

Creación y asignación de rol

Antes de comenzar con eso, comprendamos una diferencia clave entre Amazon Eks (un servicio AWS) y su clúster Kubernetes en AWS. AWS segrega responsabilidades donde sea que pueda, para darle un control de grano muy fino sobre todo. Si desea darse a usted, o un tercero, complete el control sobre estos recursos, puede hacerlo también.

Pensar en Amazon Eks Como una parte que administrará su clúster Kubernetes (su clúster EKS) en su nombre, pero requiere su permiso explícito para hacer exactamente eso. Para hacer eso 'crearemos' y asignaremos el Role de administrar los grupos de EKS bajo nuestra cuenta de AWS y asignarlo a Amazon Eks.

En la nueva pestaña IAM, que se ha abierto después de hacer clic en el nombre de roles, verá algunos roles predeterminados para la facturación y el soporte ya están en su lugar. Creemos uno nuevo para EKS. Haga clic en Crear rol.

Seleccione el tipo de entidad confiable como Servicio AWS, para el cual se crearía el rol y luego seleccione EKS para que su clúster EKS pueda hablar directamente con el Amazon Eks directamente y desempeñarse de manera óptima. Luego haga clic Próximo.

Ahora, podrá ver los permisos y los límites de permiso que están asociados con este rol. Los valores predeterminados están bien, simplemente haga clic en Siguiente.

El siguiente menú le pedirá que agregue etiquetas (pares de valores clave) a este rol. Es completamente opcional, pero bastante útil si está utilizando la CLI para administrar sus recursos de AWS y hay muchos roles y recursos diferentes para administrar. No agregaremos ninguna etiqueta, haga clic Próximo y dale a tu papel un nombre y descripción significativo.

Y eso es! Haciendo clic en Crear rol y podemos volver a nuestra creación de clúster de EKS. La próxima vez que desee crear otro clúster, puede reutilizar este mismo papel nuevamente.

Volver a la creación de clúster

Incluso si su cuenta de AWS es nueva, todavía hay VPC predeterminado (Virtual Private Cloud) con algunas subredes creadas dentro de ella. Estos a menudo se distribuyen en diferentes regiones de AWS y debe seleccionar al menos dos de ellas para que sea un clúster.

Y seleccione el grupo de seguridad predeterminado para permitir que la mayoría del tráfico entrante y saliente vaya normalmente.

Haga clic en Crear Y su clúster Kubernetes estará en funcionamiento en minutos. Una vez que se crea su clúster. Siempre puede obtener una descripción general al ir a EKS → Cluster → myCluster. Por supuesto, la última parte, el nombre de su clúster será diferente.

Configuración local

La forma en que funciona la plataforma EKS es que le permite interactuar con el plano de control en el punto final API del avión. El plano de control es equivalente a los nodos maestros en los grupos de vainilla Kubernetes. Ejecuta etcd, CAS y, por supuesto, el servidor API que utilizará para controlar su clúster de Kubernetes.

Tendrá que configurar su Kubectl y/o su tablero para trabajar con este punto final de API y una vez que esté configurado, puede comenzar a enumerar todos sus recursos, implementaciones, etc., como lo haría con un clúster de Kubernetes regular.

Si aún no tiene Kubectl instalado en su computadora, puede hacerlo siguiendo este enlace para Mac, Windows o su Distro Linux favorita.

Necesitaríamos un binario adicional que sería AWS IAM Authenticator Binary para su plataforma. Descárguelo desde aquí y conviértalo en un ejecutable.

$ sudo chmod +x ./AWS-IAM-Autenticador

Agrégalo a una de sus carpetas $ ruta, por ejemplo /usr /bin o /sbin o /usr /local /sbin. O puede hacer lo que Amazon recomienda y simplemente agregarlo dentro de su directorio de inicio y hacer que $ Home sea parte de su variable de ruta.

$ CP ./AWS-IAM-Authenticator $ Home/bin/AWS-IAM-Authenticator &&
Ruta de exportación = $ home/bin: $ ruta

Siguiente prueba si los binarios funcionan.

Versión de $ kubectl
$ AWS-IAM-Authenticator Ayuda

Ahora, necesitamos configurar estos binarios para que puedan hablar con nuestro clúster Kubernetes de forma segura. Puedes hacerlo manualmente si no quieres configurar AWS CLI, pero ese no es un enfoque confiable. Por eso mencioné en los requisitos previos que AWS CLI era necesario. Entonces, suponiendo que lo haya instalado y lo haya configurado para que funcione con su cuenta de AWS, ejecute el siguiente comando:

Nota: Si ya estaba usando Kubectl para administrar otro clúster de Kubernetes, con los archivos de configuración en el valor predeterminado ~/.kube ubicación. Es posible que desee hacer una copia de seguridad de esta carpeta antes de ejecutar el siguiente comando.

$ AWS EKS Update-KubeConfig--Name MyCluster

El nombre de su clúster sería diferente de "myCluster ", Sustituya eso en su lugar. El comando update-kubeConFig realmente actualizará su configuración de kubectl editando los archivos en el ~/.kube carpeta. Si esa ubicación no existe, entonces creará una nueva para usted.

Ahora estás listo para interactuar con tu clúster.

$ AWS EKS Describe Cluster--Name MyCluster

DÓNDE A continuación?

Ahora finalmente está listo para agregar nodos de trabajadores usando CloudFormation e implementar su aplicación en todas las regiones que el VPC de clúster tiene acceso a. Todo este proceso también se puede automatizar a la Nth Grado Si elige usar AWS CLI para todo, desde la creación del clúster hasta la implementación y escala de sus aplicaciones.

Espero que hayas encontrado este tutorial útil y perspicaz.