Adicionado no BSD 2000 Criado Jail no FreeBSD 2001 Criado Linux VServer 2004 Solaris Container 2005 Open VZ 2006 Process Containers/ Control Groups (cgroups) 2008 LXC 2013 LMCTFY* + Docker *Os conceitos que deram origem ao libcontainer. 2014 Kubernetes
a história do Kubernetes? Process Containers 2006 2008 Process Containers cgroups (Linux) 2014 2015 2017 2019 Primeiro Commit - Github Kubernetes Primeiro Release Borg Paper + Kubernetes doado para Cloud Native Computing Foundation + Hybrid Cloud suportada por soluções baseadas no K8s: IBM Cloud Paks, Google Anthos, AWS Outposts e Azure Arc
de implantação, gerenciamento, dimensionamento e rede de containers.” “Pode ser usado em qualquer ambiente onde é usado containers e pode ajudar na implementação da mesma aplicação em diferentes ambientes sem a necessidade de novos de redesenho.” https://www.redhat.com/en/topics/containers/what-is-container-orchestration
através de múltiplos servidores. Fornece mecanismos básicos para deploy, manutenção e escalabilidade das aplicações” O que é Kubernetes? https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
de deploys, escalabilidade, load balancing Não é um middleware Não é um Framework de processamento (Ex: Spark, Haddop) Não é Banco de dados (Ex: MySQL, PostgreSQL) Não é um Storage Cluster (Ex: Ceph, GlusterFS) Não é DevOps Não é Continuous Delivery Não é SRE O que não é
entidades para representar os estados do seu cluster. Especificamente, eles podem descrever quais aplicações conteinerizadas estão em execução, os recursos disponíveis para elas e as políticas sobre o comportamento delas.” Objetos
e gerenciada no Kubernetes. Um Pod é um grupo de um ou mais containers, com recursos de rede e armazenamento compartilhado e uma especificação de como executar os containers” Pod https://www.jeremyjordan.me/kubernetes/
• Restrições de hardware/software/política • especificação de afinidade e não afinidade por localidade de dados, interferência entre cargas de trabalhos e prazos. Control Plane - Scheduler Observa os Pods recém-criados sem nó atribuído e designa um nó para executá-los https://kubernetes.io/
OpenID/OAuth2, certificado x.509, JWT Implementar TLS no acesso a API do Kubernetes Restringir acesso via X.509, JWT, senha, etc... a API do Kubernetes Habilitar TLS no Ingress Política de acesso da Rede => Ingress, Egress, isolamento de container Criptografia dos secrets no etcd, Vault ou KMS de IaaS QoS para os PODs => Guaranteed (request), Burstable (limit), BestEffor (sem) Segurança - Acesso aos Workloads
com alto volume de comunicação de processos em rede entre os serviços de infraestrutura de aplicações usando APIs. Service Mesh https://www.nginx.com/blog/what-is-a-service-mesh/
Resource Definitions (CRD) e Extension API Servers, essas APIs podem ser instaladas em qualquer cluster K8s e manipuladas pelas ferramentas padrão. https://smi-spec.io/
entre as aplicações Traffic telemetry – captura das principais métricas como error rate e latẽncia entre os serviços Traffic management – gerenciamento do tráfego entre os diferentes serviços Service Mesh Interface