KubeSail y su clúster Kubernetes gratuito para desarrolladores



A principios de año, se creó un nuevo servicio web KubeSail, creado por dos entusiastas estadounidenses de Kubernetes, que se propusieron "hacer que los beneficios de Kubernetes sean más accesibles para todos los desarrolladores". Para lograrlo, propusieron un clúster de K8 en forma de un servicio administrado, dentro del cual existe un plan tarifario gratuito.

Los autores de KubeSail, que afirman que Kubernetes ya se ha convertido en el estándar para la construcción de infraestructura, admiten un alto umbral de entrada, que "plantea dudas sobre si los beneficios de esta tecnología cubrirán los costos [de la capacitación y el inicio]". Para mitigar este inconveniente, ofrecen un servicio fácil de usar, cuya versión gratuita debería ser "útil para estudiar Kubernetes o proyectos de pasatiempo que no valen el costo de 140 USD / mes, como en [Amazon] EKS".

Los planes tarifarios actuales de KubeSail son los siguientes:



... y los precios con restricciones flexibles en CPU / memoria y almacenamiento prometen pronto.

¿Qué es mejor que otras opciones?


Eso es lo que dicen los propios desarrolladores (y no solo ellos), respondiendo preguntas de los lectores de Reddit sobre las diferencias entre su oferta y lo que ya tienen.

En comparación con ejecutar Minikube localmente:

“Más de un nodo maestro, lo que le permite trabajar con esta configuración altamente accesible. Debería poder soltar un nodo y no sufrir funciones rotas. Minikube, estoy seguro, solo un maestro es posible con muchos trabajadores ".

"... también puede ejecutar instalaciones de producción en el clúster y ponerlas a disposición en Internet. Esto no solo es genial para el aprendizaje, sino también un clúster K8 de muy alta disponibilidad que no se apagará cuando la cubierta del portátil esté cerrada ".

En comparación con otros proveedores de Kubernetes administrados (los ejemplos incluyen GKE y Digital Ocean):

"DO es realmente más barato que AWS [cuya comparación con EKS se da arriba] , pero debo decir que admitimos configuraciones de HA a una velocidad libre (puede ejecutar tres pequeños pods en tres nodos) y usar máquinas muy potentes con SSD rápido- unidades y conexiones de red, así que estoy listo para apostar que el pod en KubeSail será más rápido que la instancia de 2 gigabytes en DO! Aunque competir con DO será realmente difícil, por lo que nos vamos a centrar en la capacitación y la interfaz de usuario / utilidades ".

Más de K8 gestionados


Aunque el servicio se centra principalmente en los desarrolladores, también puede ser útil para los ingenieros de DevOps. Además de la interfaz web simple en sí (los detalles al respecto se detallan a continuación) , los autores prometen lanzar herramientas de desarrollo para Kubernetes y tutoriales que simplificarán la implementación y ejecución de aplicaciones en clústeres. El "primer trago" aquí fue la utilidad deploy-to-kube diseñada para implementar aplicaciones Node.js en Kubernetes con un comando (e incluso sin la necesidad de crear una configuración para esto; todos los datos necesarios se solicitan de forma interactiva):

imagen

Pero volviendo al clúster K8s realmente administrado, lo que KubeSail nos ofrece.

Trabaja con KubeSail


La interfaz web del servicio cumple el propósito del proyecto: es muy simple y le permite tener el clúster a su disposición en solo unos pocos clics.

Después de iniciar sesión a través de una cuenta de GitHub, la interfaz web le solicita que se ponga manos a la obra de inmediato, es decir. implementar las primeras implementaciones en el clúster Kubernetes creado:



Elegiremos uno de los ejemplos listos para esto: QUOTE-OF-THE-MONTH . Este es un servicio de cotización JSON aleatorio. La implementación es rápida (<10 segundos):



Verifiquemos el resultado, refiriéndonos a un punto final accesible externamente:

 $ curl https://qotm-2d7ab6efca.kubesail.io/ { "hostname": "qotm-5d9f776595-6qfmv", "ok": true, "quote": "A small mercy is nothing at all?", "time": "2019-02-21T02:54:15Z", "version": "2.0" } 

Funciona! Y aquí está la interfaz para implementaciones ya cargadas en el clúster:



Como puede ver, puede ver información básica sobre cada uno de ellos: límites de recursos, puertos reenviados, salida de registro (datos de kubectl logs ).

Si hace clic en el enlace CUENTA (en la esquina superior derecha de la interfaz), puede implementar una implementación adicional a partir de ejemplos listos (y solo hay dos de ellos ahora: el servicio de ~/.kube/config ya mencionado y nginx) o puede elegir una configuración lista ( ~/.kube/config ) para la oportunidad trabaje con el clúster a través del kubectl habitual:



Para completar los experimentos, utilizaremos esta configuración e implementaremos nuestra implementación, por ejemplo, de la documentación de Kubernetes :

 $ kubectl create -f https://k8s.io/examples/controllers/nginx-deployment.yaml deployment.apps/nginx-deployment created $ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 4h14m nginx-deployment 0/3 0 0 64s qotm 1/1 1 1 4h17m 

Resultó expandirse, pero ¿algo salió mal? La interfaz de KubeSail se complace en ayudar:



Aquí está: se trata de recursos limitados. El problema desaparecerá si lleva la implementación, por ejemplo, a este formulario (ver últimas líneas - bloque de resources ):

 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 resources: limits: cpu: "100m" memory: "20Mi" requests: cpu: "10m" memory: "10Mi" 

... sin embargo, la artificialidad de tal "corrección" de este problema se hará sentir rápidamente:



Presta atención a "1/3" en la esquina superior derecha: simboliza el lanzamiento de una de las réplicas. Es cierto, después de esto, los recursos dejaron de ser suficientes otra vez ... Sin embargo, dejaré tales "juegos" fuera del alcance del experimento: su esencia todavía se reduce a verificar la interacción con el clúster a través de kubectl , y, como vemos, todo está realmente en orden.

El estado actual oficial de KubeSail es una versión beta, y los autores realmente esperan comentarios de cualquier usuario de su servicio: tanto desarrolladores como ingenieros de DevOps.

Alternativas


Finalmente, permítame recordarle que hay otros servicios gratuitos para experimentar con Kubernetes y estudiarlo en línea. Sobre uno de ellos: jugar con Kubernetes , utilizando la tecnología Docker-in-Docker (DIND) y ofreciendo una consola en un navegador, ya escribimos una reseña .

Además de él, Katacoda creó un Kubernetes Playground muy similar.

Y en la documentación de Kubernetes, puede encontrar grandes listas tanto para los métodos locales de instalación / uso de Kubernetes como para las soluciones alojadas , cuya variedad hoy en día supera con creces las opciones familiares de Amazon, Azure, Digital Ocean y Google (por cierto, KubeSail también hizo a esta lista) .

PS


Lea también en nuestro blog:

Source: https://habr.com/ru/post/441116/


All Articles