Kubernetes na AWS

Gerenciamento e orquestração de contêineres de código aberto

kuberneteslogo

O Kubernetes é um software de código aberto que permite implantar e gerenciar aplicativos conteinerizados em grande escala. O Kubernetes gerencia clusters de instâncias de computação do Amazon EC2 e executa nessas instâncias contêineres com processos de implantação, manutenção e escalabilidade. Com o Kubernetes, você pode executar qualquer tipo de aplicativos conteinerizados usando o mesmo conjunto de ferramentas no local e na nuvem.

A AWS facilita a execução do Kubernetes na nuvem com uma infraestrutura de máquinas virtuais escalável e altamente disponível, integrações de serviços com o respaldo da comunidade, e o Amazon Elastic Container Service for Kubernetes (EKS), um serviço de Kubernetes gerenciado e em conformidade.

COMO O KUBERNETES FUNCIONA

O Kubernetes funciona gerenciando um cluster de instâncias de computação e programando contêineres para execução no cluster de acordo com os recursos computacionais disponíveis e os requisitos de recursos de cada contêiner. Os contêineres são executados em agrupamentos lógicos denominados pods. Você pode executar e escalar um ou vários contêineres ao mesmo tempo como um pod.

O software do plano de controle do Kubernetes decide quando e onde executar os pods, gerencia o roteamento do tráfego e escala os pods de acordo com a utilização ou outras métricas definidas. O Kubernetes inicia automaticamente os pods no cluster de acordo com seus requisitos de recursos. Além disso, reinicia automaticamente os pods em caso de falha neles ou nas instâncias em que são executados. Cada pod recebe um endereço IP e um nome de DNS único, que é usado pelo Kubernetes para conectar seus serviços entre si e o tráfego externo.

POR QUE USAR O KUBERNETES

Como o Kubernetes é um projeto de código aberto, você pode usá-lo para executar aplicativos conteinerizados em qualquer lugar, sem necessidade de alterar as ferramentas operacionais. O Kubernetes é mantido por uma grande comunidade de voluntários e é constantemente aprimorado. Além disso, muitos outros projetos e fornecedores de código aberto criam e mantêm software compatível com o Kubernetes que você pode usar para aprimorar e ampliar a sua arquitetura de aplicativos.

100x100_benefit_scalable_100x100_benefit_scalable

EXECUTE APLICATIVOS EM GRANDE ESCALA

O Kubernetes permite definir aplicativos conteinerizados complexos e executá-los em grande escala em um cluster de servidores.

100x100_benefit_migration

TRANSFIRA APLICATIVOS DE FORMA TRANSPARENTE

Usando o Kubernetes, os aplicativos conteinerizados podem ser movimentados de forma transparente de máquinas locais de desenvolvimento para implantações de produção na nuvem, usando as mesmas ferramentas operacionais.

100x100_benefit_global_100x100_benefit_global

EXECUTE EM QUALQUER LUGAR

Execute clusters de Kubernetes altamente disponíveis e escaláveis na AWS, mantendo compatibilidade total com as implantações locais do Kubernetes.

100x100_benefit_compatible

ADICIONE NOVAS FUNCIONALIDADES

Como um projeto de código aberto, é fácil adicionar novas funcionalidades ao Kubernetes. Uma grande comunidade de desenvolvedores e empresas cria extensões, integrações e plugins que ajudam os usuários do Kubernetes a fazer mais.

EXECUTE KUBERNETES NA AWS

A AWS facilita a execução do Kubernetes. Você pode optar por gerenciar a infraestrutura do Kubernetes com o Amazon EC2 ou obter um plano de controle gerenciado e provisionado automaticamente com o Amazon EKS. De qualquer forma, você obtém integrações avançadas e respaldadas pela comunidade com serviços da AWS como VPC, IAM e descoberta de serviços, além da segurança, da escalabilidade e da alta disponibilidade da AWS.

SE VOCÊ DESEJA...
CONSIDERE O USO DE:
Gerenciar integralmente as implantações do Kubernetes. Provisionar e executar o Kubernetes em sua escolha de tipos de instância avançados. Amazon EC2
Executar o Kubernetes sem necessidade de provisionar ou gerenciar instâncias mestre e o etcd.
Amazon EKS
Armazenar, criptografar e gerenciar imagens de contêiner para agilizar a implantação.
Amazon ECR

 

Colaborações do Kubernetes da comunidade AWS

A AWS trabalha ativamente em conjunto com a comunidade do Kubernetes e colabora com a base de código do Kubernetes, o que ajuda os usuários do Kubernetes a aproveitarem os serviços e os recursos da AWS.

CNI_logo_120x100

Plugin CNI

Redes de pods em Kubernetes usando interfaces de rede elásticas na AWS.

heptio-logo-news_1_120x100

IAM Authenticator

Uma ferramenta para usar credenciais do AWS IAM para autenticação em um cluster do Kubernetes.

EKS_external-dns_120x100

DNS externo

Configure a descoberta de serviços do Route 53 para ingressos e serviços do Kubernetes.

Kubernetes-detoure-titre-noir_120x100

SIG AWS

Grupo de interesse especial, liderado pela comunidade e dedicado a integrações da AWS com a API do Kubernetes

new_product_fargate

VIRTUAL KUBELET

Experimental. Execute contêineres no AWS Fargate usando o plano de controle do Kubernetes.

PERGUNTAS FREQUENTES SOBRE O KUBERNETES

P: O que é um cluster do Kubernetes?

Um cluster do Kubernetes é um agrupamento lógico de instâncias de computação do EC2 que executam contêineres. Um cluster consiste no plano de controle (as instâncias que controlam como, quando e onde os contêineres são executados) e no plano de dados (as instâncias em que os contêineres são executados). Você precisa definir um cluster antes de executar contêineres ou serviços com o Kubernetes.

P: O que é um nó do Kubernetes?

Um nó do Kubernetes é uma única instância de computação (máquina virtual) que faz parte de um cluster do Kubernetes. Há dois tipos de instâncias: mestre e operador. Os mestres hospedam o servidor da API do Kubernetes e controlam como, quando e onde os contêineres são executados. Os operadores são as instâncias de computação em que os contêineres realmente são executados e processam dados.

P: O que é um pod do Kubernetes?

Um pod do Kubernetes é a forma como o Kubernetes executa contêineres em uma instância de computação. O pod inclui contêineres e especificações sobre sua execução, redes e armazenamento. Um pod pode ser um único contêiner ou vários contêineres que são sempre executados em conjunto. Se você costuma executar contêineres únicos, pode imaginar o pod como um contêiner em execução.

P: O que é o etcd?

O etcd é um armazenamento distribuído de chave-valor que permite armazenar e compartilhar dados em um cluster de máquinas distribuído. O Kubernetes usa o etcd para armazenar dados sobre o cluster e compartilhá-los no plano de controle do Kubernetes.

P: A AWS oferece suporte ao Kubernetes?

A AWS facilita a execução do Kubernetes. Na verdade, a AWS conta com o maior número de clientes executando Kubernetes na nuvem. A maioria das implantações do Kubernetes são executadas na AWS, de acordo com a Cloud Native Computing Federation (CNCF). A AWS colabora e contribui ativamente com a comunidade do Kubernetes para que os clientes possam executar facilmente Kubernetes na AWS.

A AWS oferece o Amazon Elastic Container Service for Kubernetes (EKS), um serviço gerenciado que facilita a execução do Kubernetes na AWS, sem necessidade de instalar e operar o plano de controle do Kubernetes.

P: Como faço para usar o Kubernetes na AWS?

Há duas maneiras principais de usar o Kubernetes na AWS: executá-lo você mesmo em instâncias de máquinas virtuais do Amazon EC2, ou usar o serviço Amazon EKS. Saiba mais sobre como executar você mesmo o Kubernetes no EC2 em nosso workshop do GitHub. Para saber mais sobre como usar o Amazon EKS, consulte a página do produto.