Kubernetes também conhecido como K8S, é um sistema open source de orquestração de contêiner para automatização de deploy escalonamento e gerenciamento de aplicações. O nome Kubernetes é originário do grego, que significa timoneiro ou piloto, o projeto Kubernetes foi criado em 2014 pelo Google, o projeto combina mais de 15 anos de experiência do Google na execução de cargas de trabalho de produção em grande escala. Kubernetes foi desenvolvido pensado na escalabilidade, performance e também na otimização dos Recursos usados para roda as aplicações, ele possui pontos principais e um deles é a sua capacidade para trabalhar com as muitas atualizações de uma aplicação, com ele o usuário pode fazer um agendamento da atualização e caso algo de errado ele desfaz tudo automaticamente.
Com o Kubernetes você pode trabalhar com um conjunto de contêineres é não só um ou dois, mas sim dezenas até centenas de contêineres iguais rodando uma única aplicação em uma rede própria balanceando as requisições.
Vantagens do Kubernetes
- O K8s oferece uma plataforma completa para aplicações conhecidas como cloud-native;
- Os seus componentes são executados em um cluster composto por três tipos de nós: Node, etcd e Master;
- O conjunto de todos os nós Master forma o chamado Control Plane, o qual é responsável por controlar tudo o que acontece dentro do cluster e monitorar o estado da aplicação;
- Ele utiliza abstrações, como Pods e Deployments, chamadas de Objects para representar diferentes aspectos do estado de uma aplicação;
- Esse estado pode ser alterado de duas formas: imperativa ou declarativa. A forma declarativa é considerada a mais ideal e utiliza arquivos no formato YAML que são enviados para a API;
- A API do Kubernetes é a porta de entrada de um cluster, sendo utilizada tanto pela linha de comando quando pela interface web.
Instalação
Instalar e configurar o kubectl
A ferramenta de linha de comando Kubernetes, kubectl, permite executar comandos nos clusters Kubernetes. Você pode usar o kubectl para implantar aplicativos, inspecionar e gerenciar recursos de cluster e visualizar logs. Para obter uma lista completa das operações do kubectl, consulte Visão geral do kubectl.
Antes de você começar
Você deve usar uma versão do kubectl que esteja dentro de uma diferença menor de versão do seu cluster. Por exemplo, um cliente v1.2 deve trabalhar com o mestre v1.1, v1.2 e v1.3. O uso da versão mais recente do kubectl ajuda a evitar problemas imprevistos.
Instale o kubectl no Linux
Instalar o binário kubectl com curl no Linux
Faça o download da versão mais recente com o comando:
- curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
Para baixar uma versão específica, substitua a $(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt) parte do comando pela versão específica.
Por exemplo, para baixar a versão v1.18.0 no Linux, digite:
- curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
Torne o binário kubectl executável.
- chmod +x ./kubectl
Mova o binário para o seu PATH.
- sudo mv ./kubectl /usr/local/bin/kubectl
Teste para garantir que a versão que você instalou esteja atualizada:
- kubectl version –client
Instalar usando o gerenciamento nativo de pacotes
Ubuntu, Debian ou HypriotOS
- sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2
- curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add –
- echo “deb https://apt.kubernetes.io/ kubernetes-xenial main” | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
- sudo apt-get update
- sudo apt-get install -y kubectl
Instalar usando outro gerenciamento de pacotes
Snap
Se você estiver no Ubuntu ou em outra distribuição Linux que suporte o gerenciador de pacotes de snap , o kubectl estará disponível como um aplicativo de snap .
- snap install kubectl –classic
- kubectl version –client