Kubernetes

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

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

Dada toda la complejidad que lo subyace, es muy difícil y costoso para una organización autohospedar y mantener un clúster de Kubernetes y ejecutar sus aplicaciones sobre él. Si no está en el negocio de operar clústeres de Kubernetes, es posible que desee utilizar Elastic Kubernetes Service (EKS) de Amazon para implementar sus aplicaciones. Reducirá en gran medida el costo de operación y puede estar tranquilo sabiendo que los desarrolladores y operadores experimentados están a cargo de él.

Prerrequisitos

Crear un clúster de Kubernetes

También puede crear el clúster a través de CLI, pero la mayoría de los usuarios nuevos encontrarían la consola gráfica más amigable. Entonces usaremos 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 haciendo clic en EKS en el menú desplegable:

El siguiente menú mostrará la página de introducción de AWS, vayamos al Clusters 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. Asígnele un nombre, seleccione la versión de Kubernetes que desee, en el momento de escribir este artículo, versión 1.11 es compatible con Amazon. Luego haga clic en Nombre de rol, porque necesitamos crear un rol que debemos proporcionar a Amazon EKS para que pueda administrar nuestro clúster.

Creación y asignación de roles

Antes de comenzar con eso, comprendamos una diferencia clave entre Amazon EKS (un servicio de AWS) y su clúster de Kubernetes en AWS. AWS segrega las responsabilidades siempre que puede, para brindarle un control muy detallado sobre todo. Si desea otorgarse a usted mismo oa un tercero el control total sobre estos recursos, también puede hacerlo.

Pensar en Amazon EKS como una de esas partes que administrará su clúster de Kubernetes (su clúster de EKS) en su nombre, pero requiere su permiso explícito para hacer precisamente eso. Para hacer eso, 'crearemos' y asignaremos el Papel de administrar clústeres de EKS en nuestra cuenta de AWS y asignarlo a Amazon EKS.

En la nueva pestaña de IAM, que se ha abierto después de hacer clic en el nombre del rol, verá que 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 de confianza como Servicio de AWS, para el que se crearía el rol y luego seleccione EKS para que su clúster de EKS pueda hablar directamente con el Amazon EKS directamente y funciona de manera óptima. Luego haga clic en próximo.

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

El siguiente menú le pedirá que agregue etiquetas (pares clave-valor) 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 en próximo y dale a tu rol un nombre y una descripción significativos.

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

Volver a Creación de clústeres

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

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

Haga clic en Crear y su clúster de Kubernetes estará listo y funcionando en minutos. Una vez que se crea su clúster. Siempre puede obtener una descripción general al ir a EKS → Clúster → 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 de la API del avión. El plano de control es equivalente a los nodos maestros en clústeres vanilla de Kubernetes. Ejecuta etcd, CA y, por supuesto, el servidor API que utilizará para controlar su clúster de Kubernetes.

Tendrá que configurar su kubectl y / o su panel 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 normal.

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

Necesitaríamos un binario adicional que sería el binario del autenticador de AWS IAM para su plataforma. Descárgalo desde aquí y conviértelo en ejecutable.

$ sudo chmod + x ./ aws-iam-authenticator

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

$ cp ./ aws-iam-authenticator $ HOME / bin / aws-iam-authenticator &&
export PATH = $ HOME / bin: $ PATH

Siguiente prueba si los binarios funcionan.

$ versión kubectl
Ayuda de $ aws-iam-authenticator

Ahora, debemos configurar estos binarios para que puedan comunicarse con nuestro clúster de Kubernetes de forma segura.  Puede hacerlo manualmente si no desea configurar AWS CLI, pero ese no es un enfoque confiable. Por eso mencioné en los requisitos previos que AWS CLI era necesaria. Entonces, suponiendo que lo haya instalado y 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 localizació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 ”, sustitúyelo en su lugar. El comando update-kubeconfig actualizará su configuración de kubectl editando los archivos en el ~ /.kube carpeta. Si esa ubicación no existe, creará una nueva para ti.

Ahora está listo para interactuar con su clúster.

$ Aws eks describe-cluster --name myCluster

Dónde seguir?

Ahora finalmente está listo para agregar nodos trabajadores mediante CloudFormation e implementar su aplicación en todas las regiones a las que tiene acceso la VPC del clúster. 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 el escalado de sus aplicaciones.

Espero que este tutorial le haya resultado útil y esclarecedor.

Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...
0 A.D. Tutorial
De los muchos juegos de estrategia que existen, 0 A.D. logra destacarse como un título completo y un juego táctico muy profundo a pesar de ser de códi...
Tutorial de Unity3D
Introducción a Unity 3D Unity 3D es un potente motor de desarrollo de juegos. Es multiplataforma, es decir, te permite crear juegos para dispositivos ...