Skip to content

Latest commit

 

History

History
104 lines (59 loc) · 3.73 KB

0.fundamentals.md

File metadata and controls

104 lines (59 loc) · 3.73 KB

Fundamentals

k8s

Namespaces

  • provides a scope for names
  • cannot be nested inside one another
  • each k8s resource can only be in one namespace
  • divide resources between multiple users
  • labels used to distinguish resources within the same namespace

Containers

Ambientes coorporativos possuem algumas necessidades específicas para suas aplicações:

  • Rollouts e rollbacks automatizados

  • Orquestração de containers (as coisas são executadas onde devem ser executadas)

  • Orquestração de Armazenamento (Espaço deve ser disponibilizado de acordo com a necessidade das aplicações)

  • Service discovery e load balancing

  • Self-healing (Resolução de falhas de maneira automatizada)

  • Alta disponilidade

  • Escalabilidade

  • Batch Execution

Kubernetes Basics

What is Kubernetes?

É uma plataforma para gerenciamento de workloads e serviços que utilizam containers. Ele é portável, extensível e open-source.

Ele consegue fazer tudo isso por que ele fornece um framework distribuído que serve pra executar sistemas distribuídos(os famosos microservices), então ele é um lego gigante que permite que você possa plugar soluções, desplugar, criar as suas próprias et cetera.

Ele provisiona os blocos pra que soluções sejam criadas de forma flexível para o usuário.

O Kubernetes é uma solução on-premisses(local) mas também está na public cloud.

  • AKS → Azure Kubernetes Solution
  • EKS → AWS Kubernetes Solution
  • GKE → Google Kubernetes Solution

How Kubernetes works?

Quando você implementa o Kubernetes, você recebe um cluster, um cluster é composto por worker machines, chamadas de nodes, que executam aplicações em contianers.

Kubernetes Components

Nodes

Nodes são as máquinas que recebem os microserviços/containers, esses serviços são comportados por um Pod.

  • kubelet → Fazem com que os containers realmente sejam executados dentro de um pod
  • kube-proxy → Provisiona a rede nos nodes
  • container runtime → Software responsável pela execução de containers(e.g Docker)

Control Plane

Dentro do painel de controle estão as ferramentas de gerenciamento do cluster.

  • API Server → É a interface do control plane com o mundo externo.
  • Scheduler(kube-scheduler) → Seleciona Pods para executarem em Nodes
  • Controller Manager(kube-controller-manager) → Observa o estado dos serviços do cluster e tenta fazer com que tudo aconteça conforme o esperado.
  • etcd → É a persistência do Kubernetes, o banco de dados que armazena as informações do Cluster.
  • Cloud Controller Manager → É onde as Clouds Públicas se conectam com o Cluster.

Kubernetes API

É a coisa mais importante do Control Plane. O server API do Kubernetes expõe uma API HTTP, permitindo a manipulação e queries em Objetos no Kubernetes. Também permite o acesso a API utilizando REST.

Kubernetes Objects

Considerações finais

Esses são apenas os conceitos que eu achei relevante entender e que me ajudaram a ter uma ideia do que é o Kubernetes e o que ele faz de uma forma muita abstrata mas que é um ponto de partida para aqueles que nunca tiveram contato com esse tipo de tecnologia.

Fico aberto a sugestões e/ou correções no texto ou informações.

Boa jornada nos estudos.

Understanding Authentication

! Under construction 💅🏿

Auth Modules -> usado para inserção de certificações de clients Tipos de Clients

  • Users -> client certificates
  • Services -> tokens

If not authenticated -> rejected with HTTP status code 401

/etc/kubernetes/manifests/kube-apiserver.yaml -> current setting

Authorization mode implements policies.

Authentication in Kubernetes means to deliver the right certificates to access the Kubernetes Cluster.