KubeSail e seu cluster Kubernetes gratuito para desenvolvedores



No início do ano, um novo serviço da Web KubeSail foi criado, criado por dois entusiastas americanos do Kubernetes, que deveriam "tornar os benefícios do Kubernetes mais acessíveis a todos os desenvolvedores". Para alcançá-lo, eles propuseram um cluster K8s na forma de um serviço gerenciado, dentro do qual existe um plano tarifário gratuito.

Os autores do KubeSail, alegando que o Kubernetes já se tornou o padrão para a construção de infra-estrutura, admitem um alto limite de entrada, o que "levanta dúvidas sobre se os benefícios dessa tecnologia cobrirão os custos de [treinamento e início]". Para atenuar essa desvantagem, eles oferecem um serviço fácil de usar, cuja versão gratuita deve ser “útil para aprender Kubernetes ou projetos de hobby que não valem o custo de 140 USD / mês, como no [Amazon] EKS”.

Os planos tarifários atuais do KubeSail são os seguintes:



... e preços com restrições flexíveis na CPU / memória e armazenamento prometem em breve.

O que é melhor do que outras opções?


É o que os próprios desenvolvedores (e não apenas eles) dizem , respondendo a perguntas dos leitores do Reddit sobre as diferenças entre sua oferta e o que já existe.

Comparado à execução local do Minikube:

“Mais de um nó mestre, o que permite trabalhar com essa configuração altamente acessível. Você deve eliminar um nó e não sofrer funções quebradas. Minikube, tenho certeza, apenas um mestre é possível com muitos trabalhadores. ”

“... você também pode executar instalações de produção no cluster e disponibilizá-las na Internet. Isso não é apenas legal para aprender, mas também um cluster K8s de alta disponibilidade que não se apaga quando a tampa do laptop é fechada. ”

Comparado com outros fornecedores gerenciados de Kubernetes (exemplos incluem GKE e Digital Ocean):

“O DO é realmente mais barato que o AWS [cuja comparação com o EKS é fornecida acima] , mas devo dizer que suportamos configurações de alta disponibilidade gratuitamente (você pode executar três pequenos pods em três nós) e usa máquinas muito poderosas com SSD rápido- unidades e conexões de rede, por isso estou pronto para apostar que o pod no KubeSail será mais rápido que a instância de 2 gigabytes no DO! Embora competir com o DO seja realmente difícil, vamos nos concentrar no treinamento e na interface do usuário / utilitários. ”

Mais do que K8s gerenciados


Embora o serviço seja focado principalmente nos desenvolvedores, também pode ser útil para os engenheiros de DevOps. Além da interface da web simples (os detalhes a seguir serão apresentados abaixo) , os autores prometem lançar ferramentas de desenvolvimento para o Kubernetes e tutoriais que simplificarão a implantação e a execução de aplicativos em clusters. A “primeira tragada” aqui foi o utilitário deploy-to-kube , projetado para implantar aplicativos Node.js no Kubernetes com um comando (e mesmo sem a necessidade de criar uma configuração para isso - todos os dados necessários são solicitados interativamente):

imagem

Mas voltando ao cluster K8s realmente gerenciado, o que o KubeSail nos oferece.

Trabalhar com o KubeSail


A interface web do serviço atende ao objetivo do projeto: é muito simples e permite que você obtenha o cluster à sua disposição em apenas alguns cliques.

Depois de fazer login por meio de uma conta do GitHub, a interface da Web solicita que você comece a trabalhar imediatamente, ou seja, implante as primeiras implantações no cluster Kubernetes criado:



Vamos escolher um dos exemplos prontos para isso - QUOTE-OF-THE-MONTH . Este é um serviço de cotação JSON aleatório. A implantação é rápida (<10 segundos):



Vamos verificar o resultado, referindo-se a um terminal acessível 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" } 

Isso funciona! E aqui está a interface para implantações já carregadas no cluster:



Como você pode ver, você pode ver informações básicas sobre cada um deles: limites de recursos, portas encaminhadas, saída de log (dados dos kubectl logs do kubectl logs ).

Se você clicar no link CONTA (no canto superior direito da interface), poderá implantar uma implantação adicional a partir de exemplos prontos (e existem apenas dois deles agora: o serviço de ~/.kube/config já mencionado e o nginx) ou escolher uma configuração pronta ( ~/.kube/config ) para a oportunidade trabalhe com o cluster através do kubectl usual:



Para completar as experiências, usaremos essa configuração e implantaremos nossa implantação - por exemplo, na documentação do 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 

Acabou se expandindo, mas algo deu errado? A interface do KubeSail tem o prazer de ajudar:



Aqui está - é tudo sobre recursos limitados. O problema desaparecerá se você levar a implantação, por exemplo, para este formulário (consulte as últimas linhas - bloco 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" 

... no entanto, a artificialidade de uma "correção" desse problema rapidamente se fará sentir:



Preste atenção a “1/3” no canto superior direito - ele simboliza o lançamento de uma das réplicas. No entanto, depois disso, os recursos novamente deixaram de ser suficientes ... No entanto, deixarei esses "jogos" fora do escopo do experimento: sua essência ainda se resumia em verificar a interação com o cluster via kubectl - e, como vemos, tudo está realmente em ordem.

O status atual oficial do KubeSail é uma versão beta, e os autores estão realmente ansiosos pelo feedback de qualquer usuário de seu serviço: desenvolvedores e engenheiros de DevOps.

Alternativas


Por fim, lembre-se de que existem outros serviços gratuitos para experimentar o Kubernetes e estudá-lo online. Sobre um deles - Jogue com o Kubernetes , usando a tecnologia Docker-in-Docker (DIND) e oferecendo um console em um navegador - já escrevemos uma análise .

Além dele, Katacoda criou um Kubernetes Playground muito semelhante.

E na documentação do Kubernetes, você pode encontrar grandes listas de métodos locais de instalação / uso do Kubernetes e de soluções hospedadas , cuja variedade hoje excede em muito as opções familiares da Amazon, Azure, Digital Ocean e Google (a propósito, o KubeSail também criou para esta lista) .

PS


Leia também em nosso blog:

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


All Articles