O que é a API do Kubernetes?
A API do Kubernetes é o front-end do plano de controle do Kubernetes e o meio pelo qual os usuários interagem com os clusters desse serviço. O servidor de interface de programação de aplicações (API) determina se uma solicitação é válida e depois a processa.
Basicamente, a API é a interface usada para gerenciar, criar e configurar clusters do Kubernetes. É como usuários, componentes externos e elementos dos clusters se comunicam uns com os outros.
E no centro do plano de controle do Kubernetes está o servidor de API, que expõe a API HTTP, permitindo consultar e manipular o estado de objetos do Kubernetes.
Kubernetes
Para que você compreenda o contexto da API do Kubernetes por inteiro, vamos primeiro explicar o que é o Kubernetes em termos gerais.
O Kubernetes é uma plataforma open source de orquestração de containers. É a tecnologia de containers que permite agrupar e isolar aplicações com todo o ambiente de execução delas. Isso torna mais fácil mover uma aplicação dentro de um container entre diferentes estágios (desenvolvimento, produção etc.) e ambientes (on-premise, nuvem pública/privada/híbrida ou multicloud) sem prejudicar qualquer aspecto da funcionalidade.
Portanto, como plataforma de orquestração de containers, o Kubernetes automatiza grande parte dos processos manuais necessários para gerenciar, implantar e escalar aplicações em containers.
O agrupamento das máquinas (servidores físicos ou virtuais conhecidos como "nós") que executam as aplicações em containers resulta na criação de um cluster, que pode ser gerenciado e orquestrado com o Kubernetes.
Um grupo de containers, que compartilham recursos, em execução em uma máquina ou em um nó é chamado de "pod". Um pod também pode conter apenas um container. Nesse caso, chamar o pod de container não afeta em nada o conceito.
Conheça o Red Hat OpenShift: a plataforma Kubernetes para as empresas.
Clusters
Um cluster do Kubernetes é formado por duas partes: o plano de controle e o plano de aplicação. É no plano de controle que encontramos a API, que é o meio pelo qual o usuário interage com o cluster e instrui o que deve ser feito na linha de comando, usando a ferramenta kubectl. Por meio da API, usuários finais, componentes externos e o próprio cluster podem se comunicar uns com os outros.
Cada cluster tem um estado desejado, ou seja, um estado que define quais aplicações e cargas de trabalho devem ser executadas, além de outros detalhes de configuração, como as imagens usadas e os recursos necessários. Você pode usar a ferramenta de linha de comando kubectl ou interagir com o cluster via API para definir ou modificar o estado desejado.
O Kubernetes gerenciará o cluster automaticamente para que corresponda ao estado desejado. O Kubernetes é declarativo. Isso significa que ele sempre tentará se autogerenciar e autocorrigir com base nos parâmetros definidos para as cargas de trabalho.
API e operador Kubernetes
Um operador Kubernetes é um método de empacotar, implantar e gerenciar aplicações usando a API, por meio da ferramenta kubectl.
No Kubernetes, um operador é um controlador específico para aplicações que amplia as funcionalidades da API do Kubernetes a fim de criar, configurar e gerenciar instâncias de aplicações complexas para o usuário. Ao incluir informações específicas da aplicação ou do domínio, o operador possibilita que o Kubernetes automatize todo o ciclo de vida do software gerenciado pela plataforma.
Por que escolher a Red Hat?
Como líder em tecnologia de containers open source e desenvolvedora de várias ferramentas e soluções para o gerenciamento da infraestrutura de containers, a Red Hat ajudará você a implementar o Kubernetes e os containers na sua empresa.
Com o Red Hat® OpenShift®, você tem uma plataforma de containers open source pronta para uso empresarial que oferece todos os elementos necessários para gerenciar implantações de nuvem híbrida e multicloud. Podemos ajudar sua empresa na transição dos negócios para a nuvem, aproveitando ao máximo sua infraestrutura atual.
Nossa solução é parte de uma plataforma integrada que permite aos desenvolvedores escolher a linguagem, os componentes de middleware, os frameworks e os bancos de dados que quiserem, além de ajudar na implantação da tecnologia de automação para aumentar a eficiência e a produtividade.