O que é o Kubernetes?
Kubernetes (ou K8s) é um dos orquestradores mais conhecidos, que permite a gestão de containers de aplicações em open source. Este tipo de arquitetura propõe uma grande estabilidade das suas aplicações e softwares ao facilitar a sua resiliência e escalabilidade. A implementação, a atualização e a exploração destes serviços também são simplificadas e automatizadas. A OVHcloud oferece o Managed Kubernetes Service, uma solução que se baseia nas instâncias Public Cloud para implementar as suas arquiteturas aplicativas. No entanto, é possível ligá-la a uma cloud privada, híbrida ou criar uma arquitetura multicloud. Este sistema, desenvolvido pelos engenheiros da Google, foi apresentado em 2015 na Cloud Native Computing Foundation (CNCF), em parceria com a Fundação Linux.

Vantagens do Kubernetes
Kubernetes oferece muitas vantagens, tornando-o a plataforma líder do seu setor, apreciada por empresas de todo o mundo.
A plataforma foi pensada para administrar uma grande variedade de aplicações que requerem cargas de trabalho heterogéneas, assim como gerir o ciclo de vida de aplicações ou de software em containers. Para isso, a plataforma atribui os recursos do servidor de acordo com as necessidades dos diferentes containers. Desta forma, as aplicações podem evoluir sem afetar o seu funcionamento. Além disso, estas usufruirão de uma maior previsibilidade e de uma alta disponibilidade.
Para atingir estes desempenhos, o container não virtualiza o conjunto da solução como acontece numa máquina virtual (VM). Apenas são virtualizados o SO, a RAM e o sistema de ficheiros. Os containers consomem menos recursos de CPU e de memória.
As arquiteturas Kubernetes são conhecidas pelo alto desempenho que oferecem aos programas em containers e o controlo de custos. Além disso, também permitem a portabilidade das aplicações para cloud privadas ou públicas.
A segurança é fundamental: cada container pode dispor de medidas específicas para evitar as ameaças de ataques maliciosos.
A OVHcloud baseia-se na sua equipa de especialistas para lhe oferecer uma interface simples e de alto desempenho. Assim, poderá implementar rapidamente as suas aplicações na cloud.
Quais são os componentes de uma arquitetura Kubernetes?
A arquitetura Kubernetes é composta por diferentes elementos que, associados, lhe permitem explorar, implementar e atualizar os softwares em containers.
O componente principal do Kubernetes é o cluster que agrupa os servidores virtuais ou físicos. Estas máquinas vão desempenhar o papel de master ou de nó.
Componente master do Kubernetes
A principal função do master consiste em organizar a criação ou a eliminação de nós ou de containers, assim como repartir o tráfego de acordo com as necessidades. É a partir deste servidor principal que os administradores parametrizam e interagem com a arquitetura.
São utilizados vários componentes:
Etcd
O etcd é a base de dados chave-valor utilizada pelo cluster e trata-se de um conjunto de dados único para todos os containers. Estas informações são persistentes. Se o etcd for utilizado como memória em todo o cluster, é necessário um plano de backup para estes dados.
Kube-apiserver
O kube-apiserver é o ponto de contacto principal com as entidades do cluster. O servidor API valida e configura os dados operados nos nós, serviços ou controladores de replicação.
Kube-controller-manager
O kube-controller-manager baseia-se no servidor API para supervisionar o estado do servidor. Este serviço implementará um nó e irá administrá-lo durante toda a sua existência. Este componente é o responsável por garantir a integridade e a disponibilidade da arquitetura.
Kube-scheduler
Kube-scheduler é o serviço que permite ao Kubernetes oferecer os seus altos desempenhos e trata-se do componente responsável pela repartição de tarefas entre os nós, em função da carga e dos recursos disponíveis.
Cloud-controller-manager
O cloud-controller-manager é uma camada de abstração entre as API, as ferramentas do fornecedor de cloud e o seu equivalente em Kubernetes que permite a portabilidade completa da plataforma.
Os nós Kubernetes
Os nós são os servidores secundários que compõem o cluster. Tal como o master, os diferentes componentes desempenham as funções de gestão do nó, dos pods e dos seus containers.
Pod
O pod é o componente básico de um nó Kubernetes que contém um ou vários containers que partilham os recursos. É possível aceder a cada pod através de um endereço IP único no cluster. Estes containers contêm as aplicações. Os ambientes de execução mais utilizados são Docker e Helm chart.
Um pod pode dispor de espaços de armazenamento colocados à disposição dos diferentes containers que aloja. Cada pod também possui um rótulo que lhe permite ser identificado na arquitetura global.
Kubelet
Kubelet é um agente que se executa em cada nó da arquitetura Kubernetes e a sua função é gerir o estado esperado do nó, assim como assegurar a sua boa saúde de acordo com as instruções recebidas pelo servidor master. Também envia os dados de desempenho e carga do nó para que o Kube-scheduler possa repartir eficazmente as tarefas.
kube-proxy
O kube-proxy é um proxy de rede que, ao executar-se nos nós, permite gerir os endereços IP virtuais dos pods. É possível aceder-lhes tanto dentro como fora do cluster. Além disso, também é utilizado para equilibrar a carga dos serviços executados num nó.
Estes componentes permitem que o Kubernetes proponha um sistema de orquestração de clusters eficaz e com bom desempenho, amplamente utilizado pela comunidade.
Instalar o Kubernetes com a OVHcloud
A OVHcloud implementa, aloja e efetua a manutenção de todos os componentes da sua arquitetura Kubernetes. Os nossos especialistas intervêm ao nível dos componentes master, mas também nos componentes instalados nos nós com o objetivo de prevenir bugs e garantir a segurança da sua arquitetura. O nosso Anti-DDoS também está incluído.
O nosso objetivo: permitir-lhe concentrar-se no desenvolvimento e na exploração das suas aplicações, assim como nas suas camadas de software em containers.
O Load Balancer da OVHcloud ajuda a otimizar o desempenho da sua arquitetura Kubernetes. Este serviço permite repartir eficazmente o tráfego por vários nós e poderá definir a escalabilidade automática dos seus pods em função do estado de utilização das suas aplicações. Se necessário, fixe quotas para o desempenho da CPU e RAM dos seus nós. Os recursos de cálculo do seu cluster podem ser ajustados de forma dinâmica.
Por fim, graças ao programa de conformidade CNCF, a OVHcloud garante a reversibilidade total dos seus dados.
Implementar containers através de uma arquitetura Kubernetes traz vantagens em termos de desempenho, escalabilidade e alta disponibilidade.

Implementar uma arquitetura Kubernetes
Criar uma arquitetura Kubernetes implica dimensionar um cluster em função das suas necessidades. Para isso, deverá definir o número de pods e, a seguir, o volume de instâncias de containers (réplicas) necessárias para cada um. Depois de fazer isto, implemente a sua solução Kubernetes em três etapas com a OVHcloud.
- 1. Crie o seu cluster Kubernetes
Crie o seu projeto passo a passo no Public Cloud graças aos nossos manuais.
- 2. Adicione nós baseados nas instâncias
Estes nós são criados no cluster e contêm os seus pods. Estes últimos podem alojar um ou vários containers, que trabalham em conjunto.
- 3. Ligue-se ao Kubernetes e comece a implementar containers
O Kubernetes é entregue e os seus nós de trabalho são disponibilizados em alguns minutos. Através da interface Kubernetes Dashboard, poderá implementar as camadas de software e as aplicações nos seus containers. A arquitetura proposta pela OVHcloud permite-lhe concentrar-se na gestão dos seus pods, dos seus containers e dos seus dados persistentes. A OVHcloud trata do resto.
Os volumes persistentes baseiam-se em discos adicionais standard ou de alto desempenho, que garantem o acesso aos seus dados e aplicações.
O Kubernetes oferece um isolamento rápido dos ambientes de desenvolvimento, de pré-produção e de produção. Para isso, basta transferir o ficheiro de configuração de um cluster para outro e descrever o estado esperado.
Precisa de ajuda na implementação da sua infraestrutura? Consulte a documentação técnica relativa ao Kubernetes.
Em resumo
Atualmente, a alta disponibilidade é a norma: os utilizadores esperam que as suas aplicações estejam sempre acessíveis. A conceção dos seus softwares e aplicações baseada em containers limita as interrupções de serviço. Além disso, permite um ganho de desempenho e de escalabilidade.
A solução beneficia de uma comunidade que participa na evolução regular dos componentes e dos serviços. As novas versões são propostas na OVHcloud no trimestre seguinte à sua implementação.
Além disso, as infraestruturas e os serviços da OVHcloud possuem as certificações ISO/IEC 27001, 27701 e HDS para alojar com toda a segurança os seus dados e as suas aplicações.
O Kubernetes permite-lhe implementar arquiteturas de software em containers, independentemente do seu volume ou da sua complexidade. Tudo isto, baseando-se na potência e na estabilidade dos serviços cloud da OVHcloud.