Avançar para o conteúdo principal
BlogContentores (Kubernetes, Docker)Top Kubernetes Perguntas respondidas

Top Kubernetes Perguntas respondidas

Top-Kubernetes-Questions-Answered

Após nove eventos Kubernetes e sete anos a trabalhar com o projecto Kubernetes como parte do nosso próprio desenvolvimento, passámos uma boa quantidade de tempo a falar com a comunidade de desenvolvedores. Em todos os eventos em que participamos, vemos uma série de fases de adopção e recebemos perguntas sobre complexidade e viabilidade. Aqui estão algumas das nossas principais perguntas e respostas de Kubernetes.


Teste das Águas: Devo começar a utilizar Kubernetes para a minha aplicação?

Billy Thompson, o principal engenheiro de soluções da Linode, assistiu à mais recente KubeCon na Europa. Eis o que ele ouviu dos programadores que estavam a começar a experimentar a Kubernetes.

"Muitas pessoas ainda estavam a explorar Kubernetes e a falar com outros criadores para aprenderem mais sobre a plataforma. Em muitos casos, estavam lá para aprender o máximo que podiam e trazer essa informação de volta às suas equipas. Poderíamos chamar a estas missões de 'descoberta de factos' para ajudar a decidir se Kubernetes seria viável para os seus projectos num futuro próximo".

Isto não foi inteiramente surpreendente e é importante lembrar que os K8s ainda são uma tecnologia relativamente nova. Apesar dos benefícios chave como a escala automatizada e a portabilidade, as grandes mudanças de infra-estruturas e aplicações são dispendiosas e demoradas. Se o seu legado de implantação está a correr bem, a adopção de uma nova plataforma é difícil de justificar. No entanto, deve estar sempre a pensar na possibilidade de se proteger do futuro para quando a escala do seu ambiente no seu estado actual se torna inevitavelmente desajeitada, impraticável, ou impossível.

Desenho e Refactoring: O que é preciso para começar a usar Kubernetes?

Quer se esteja a preparar para refactor uma aplicação existente ou a começar do zero, vamos falar sobre o que é preciso para começar. Perguntei a Todd Becker, um dos nossos engenheiros dedicados à Linode Kubernetes Engine (LKE), quais seriam os seus conselhos para alguém que se aproximasse pela primeira vez de cargas de trabalho em contentores. Queria falar sobre o quão intimidante pode ser refazer aplicações monolíticas de reactores para tirar verdadeiramente partido de Kubernetes ou outras ferramentas nativas da nuvem.

"Para utilizar plenamente a beleza de Kubernetes, muitas aplicações precisariam de ser ajustadas. Contudo, a maioria das aplicações pode funcionar em Kubernetes sem muita refactoring e ainda ver benefícios significativos".

Assim, embora fosse o ideal, você faz não precisam de um conjunto completo de arquitectura de microserviços para começar a utilizar Kubernetes e contentores. Ainda se pode tirar partido da portabilidade, escalabilidade, e consistência ambiental com uma aplicação monolítica. No entanto, estas são generalizações. Cada aplicação terá os seus próprios requisitos únicos, mas é importante compreender que as aplicações legadas não são necessariamente excluídas da contentorização.

Pronto para Go: O que é uma boa ferramenta para me ajudar a começar?

Se estiver pronto para começar a desenvolver-se nativamente para Kubernetes, ferramentas e metodologias podem ajudar a racionalizar a experiência. Os processos de Integração Contínua e Entrega Contínua (CI/CD) estão a reduzir o tempo desde o desenvolvimento até à produção.

Todd recomenda vivamente Skaffold, "o melhor amigo do desenvolvedor Kubernetes", desenvolvido pela Google em 2019. Eis o que Todd diz: 

"Skaffold é uma grande ferramenta para se desenvolver em Kubernetes. Isto permite aos programadores alojar o seu ambiente de desenvolvimento num aglomerado Kubernetes em vez de o fazerem localmente na sua máquina. Para além de libertar preciosos recursos computacionais num computador portátil ou estação de trabalho, isto proporciona uma tonelada de benefícios de trabalho. Skaffold espelha os seus ambientes de desenvolvimento e produção muito mais perto do que apenas escrever um contentor, ao instalar todo o ambiente num cluster Kubernetes vivo, e pode partilhar o seu espaço de trabalho de desenvolvimento com outros engenheiros para começar a colaborar mais rapidamente. Isto pode ajudar a colmatar a lacuna entre o dev e as operações para que todos se familiarizem com Kubernetes".

A forma como Todd descreve Skaffold faz com que pareça quase essencial para o desenvolvimento de Kubernetes, mas nem sequer tem três anos de idade. Os benefícios de uma tecnologia emergente podem levar a um avanço na adopção, mas este é outro aspecto importante do ciclo. À medida que uma plataforma amadurece, pouco a pouco, dia após dia, mais utilizadores nos dão mais pessoas a trabalhar para tornar as coisas mais fáceis. Isto pode ser um efeito de bola de neve, especialmente com tecnologia de código aberto que permite contribuições da comunidade em geral.

Pontos de Dor e Provedores: Como posso melhorar a minha experiência?

Certamente, nem todos se encontram numa fase precoce ou de teste com Kubernetes. Um número significativo de projectos já está a utilizar Kubernetes em produção, por isso voltei a Billy Thompson para ver do que esses criadores estão a falar.

"Velocidade". As pessoas querem fazer girar clusters, rapidamente, e muitos fornecedores não estão a corresponder a estas expectativas neste momento. Em pé, mesmo um pequeno aglomerado com armazenamento efémero, em muitos casos, pode demorar mais de 20 minutos. Isto pode ser dolorosamente longo, especialmente para professores ou qualquer pessoa que faça uma demonstração ao vivo".

E o LKE?

"Os seus clusters estão a funcionar no LKE com Terraform em 2-3 minutos".

As ferramentas de gestão e compatibilidade são outro grande tema. Kubernetes pode ser muito intimidante, mas existem algumas IU de terceiros amigáveis e intuitivas.

"Essa era uma pergunta muito comum. As pessoas estão a utilizar ferramentas agnósticas da nuvem como Rancher e querem ter a possibilidade de utilizar diferentes fornecedores. Estas são compatíveis com o LKE e podem ser implementadas através do Linode API ou Terraform."

Esta é mais uma fase de maturidade para uma nova tecnologia - tornar-se de fácil utilização. Kubernetes lançou o seu próprio Painel de Controlo em Abril de 2020 para trazer a funcionalidade kubectl a uma interface web, mas as soluções de terceiros já existem há um pouco mais de tempo. Kontena Lens entrou em AG em 2019 e Rancher atingiu 1,0 já em 2016 (cerca de um ano depois de Kubernetes 1,0). Estas ferramentas estão disponíveis e cada vez mais acessíveis. O LKE instala o Painel Kubernetes por defeito, e pode ser acedido através do link do Painel Kubernetes encontrado para cada cluster no Linode Cloud Manager.

O que está por vir?

Estamos a aproximar-nos de um ponto de viragem. Os benefícios de Kubernetes estão a ultrapassar os desafios iniciais da adopção de uma nova tecnologia e estamos a entrar num ciclo auto-sustentável: Mais programadores que utilizam K8s aumentam a quantidade de projectos K8s, o que aumenta a procura de programadores K8s à medida que esses projectos crescem. Isto estende-se aos prestadores de serviços, que respondem ao aumento da procura de mais apoio Kubernetes através do lançamento e afinação de novas ferramentas.

Hoje em dia, gerir Kubernetes em produção para a sua aplicação é simultaneamente prático e abordável. Não há volta a dar, e estamos entusiasmados por ajudar mais programadores a começar.

Utiliza Kubernetes e tem algo em mente que gostaria de ver no LKE? Diga-nos.


Comentários (1)

  1. Author Photo

    Kubernetes brings convenience and improves efficiency, but it also increases the cost of use

Deixe uma resposta

O seu endereço de correio electrónico não será publicado. Os campos obrigatórios estão marcados com *