Kubernetes: Resumo dos Principais Conceitos
Principais Conceitos
Definição:
- O Kubernetes é um orquestrador de contêineres para provisionar, gerenciar e dimensionar aplicativos. Em outras palavras, o Kubernetes permite gerenciar o ciclo de vida
- de aplicativos conteinerizados em um cluster de nós (que é uma coleção de máquinas de trabalho).
O que o Kubernets prove?:
- * Provisões e escalonamento de aplicativos
- * Gerencia o ciclo de vida de aplicativos conteinerizados em um cluster de nós
- * Organiza a infraestrutura de computação, rede e armazenamento de cargas de trabalho do usuário
Modelo Declarativo
- O principal paradigma do Kubernetes é seu modelo declarativo. O usuário fornece o estado desejado e o Kubernetes fará o melhor para que isso aconteça. Case você precise
- de cinco instâncias, não inicie cinco instâncias separadas, mas diga ao Kubernetes que precisa de cinco instâncias, e o Kubernetes irá reconciliar o estado automaticamente.
Arquitetura do Kubernets
- O Kubernetes é um armazém de dados (etcd). O modelo declarativo é armazenado no etcd como objetos, e isso significa que quando você deseja cinco instâncias de um
- contêiner, essa solicitação é armazenada no etcd. Um gatilho é disparado para os Controllers para executar uma ação. Em seguida, os controladores reagem ao modelo
- e tentam agir para atingir o estado desejado, criando os recursos para execução da aplicação.
Kubernetes resource model
- O Kubernetes define um recurso para cada finalidade.
- * Config maps: holds configuration data for pods to consume
- * Daemon sets: ensures that each node in the cluster runs this pod
- * Deployments: defines a desired state of a deployment object
- * Events: provides life cycle events on pods and other deployment objects
- * Endpoints: allows an inbound connections to reach the cluster services
- * Ingress: a collection of rules that allows inbound connections to reach the cluster services
- * Jobs: creates one or more pods and when they complete successfully, the job is marked as completed
- * Node: a worker machine in Kubernetes
- * Namespaces: multiple virtual clusters backed by the same physical cluster
- * Pods: the smallest deployable units of computing that can be created and managed in Kubernetes
- * Persistent volumes: provides an API for users and administrators to abstract details about how storage is provided from how it is consumed
- * Replica sets: ensures that a specified number of pod replicas are running at any given time
- * Secrets: holds sensitive information, such as passwords, OAuth tokens, and SSH keys
- * Service accounts: provides an identity for processes that run in a pod
- * Services: an abstraction that defines a logical set of pods and a policy by which to access them, sometimes called a microservice
- * Stateful sets: the workload API object that manages stateful applications