O documento descreve como provisionar um cluster Kubernetes multi-master na AWS utilizando a ferramenta Kops. Ele explica o que é o Kops, demonstra como criar um cluster com três masters e três nodes em três zonas de disponibilidade diferentes, e instala vários "esteróides" ou addons como métricas, dashboard, monitoramento, ingress controller e auto escalonamento de cluster.
3. 3
Whoami
Daniel Requena
+ Sysadmin há 12 anos (3 anos de DevOPS)
+ LPI-1/LPI-2 e Zabbix Specialist
+ Bacharel em CCP / Mestre em Eng. da Computação.
+ Barista Júnior.
4. 4
Objetivos
◆ Explicar o que é o Kops e por que usá-lo
◆ Provisionar um cluster multi-master na AWS com o kops
◆ Destrinchar o que o kops provisionou
◆ Instalar os esteróides do cluster
◆ Testar
◆ Destruir tudo
5. 5
◆ Quem conhece/usa Kubernetes?
◆ Quem usa AWS?
◆ Quem conhece o Kops?
◆ Quem usa alguma alternativa ao Kops?
◆ Qual o sentido da vida, do universo e de tudo mais?
Rápida pesquisa
6. 6
O que é
● Provisionador e gerenciador de clusters K8S.
○ AWS / GCP / Digital Ocean / …
○ Install from 1.6 to 1.9
○ Updates
○ Upgrades
○ Customize config and cluster
○ kubectl experience
■ get
■ create
■ delete
■ update/rolling-update
■ upgrade
■ validate
■ describe
10. 10
Por que?
● Por que não existe EKS na sa-east-1
● Por que o EKS ainda tem limitações (HPA)
● Flexível (múltiplos CNIs)
● Rápido para subir ambientes de teste
● Possibilidade de testar várias versões de K8S
● Addons “homologados”
11. 11
Instance Groups (ig)
● Representam ASGs da Amazon
○ Master (1 para cada)
○ Nodes
● Podem ser criados mais IGs (nodes) com características diferentes
○ ec2-type
○ IOPS
○ Labels
○ Taints
○ etc...
12. 12
Pré-Requisitos
• EC2 na região com Admin role attached (amazon Linux)
• S3 na região para estado do cluster (ENV KOPS_STATE_STORE)
• Route53 internal zone (tdc-sp.intra.net.)
• Kops
• Kubectl
• Região Amazon com 3 AZs
• Limites da conta
• Permissões
37. 37
Cluster Auto-Scaler
• Escalar os Nodes (ou outro IG) do cluster de forma automática
• Baseado nos recursos do Metrics
• Disparado quando não for possível alocar mais PODs
• Aplicação externa ao Kops/K8s
https://github.com/kubernetes/kops/tree/master/addons/cluster-autoscaler