- Implantação GKE ou Local com ShellScript ou Pipeline CloudBuild
- Aplicar Certificados TLS (Let's Ebcrypt) para https.
- Aplicar Istio para Service Mesh.
- Aplicar Prometheus e Grafana para observabilidade
- Infraestrutura GKE com Terraform usando modulos.
- execute as configurações abaixo, depois execute o script config.sh
- Pode ser usado tanto local como GKE
- Execute o terraform ou crie um cluster GKE Repositório de IAC
- Instale a CNI ingress-nginx
- Instale a CLI do Istio
- Aplique os arquivos de configuração
- Secrets
- ConfigMaps
- Ingress Controller
- PersistentVolumeClaim
- Instale o cert-manager seguindo a documentação cert-manager.
- Crie o kind ClusterIssuer seguindo: Documentação
- Adicione as configurações de Annotations e spec.tls, ainda seguin a documentação do passo anterior
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: devopslabs
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
ingressClassName: nginx
tls:
- hosts:
- meudominio.com.br
secretName: letsencrypt-prod
- Pronto - HTTPS configurado.
-
LINK - Aplique a configuração específica para o Kubernetes, neste projeto GKE.
-
LINK - Instale os componentes base do Istio via Helm
-
LINK - Instale o Kiali Dashboard
-
Após instalar os componentes injete a label no namespace da aplicação.
- Novos pods terão sidecar de proxy do istio, pods existentes precisarão ser recriados.
kubectl label namespace <NomeNamespace> istio-injection=enabled
- Secrets
apiVersion: v1
kind: Secret
metadata:
name: db-secret
type: Opaque
data:
POSTGRES_USER: valor
POSTGRES_PASSWORD: valor
POSTGRES_DB: valor
---
apiVersion: v1
kind: Secret
metadata:
name: catalogo-secret
type: Opaque
data:
DB_HOST: valor
DB_USER: valor
DB_PASSWORD: valor
DB_DATABASE: valor
- Configmaps:
apiVersion: v1
kind: ConfigMap
metadata:
name: db-config
namespace: api-prd
data:
DB_HOST: "IP Banco de Dados GCP ou Nome Serviço PSQL local"
PGDATA: "/var/lib/postgresql/data/db"
---
#Como colocar em base64 se você usar linux para o secret
echo -d 'valor' | base64
- Para codificar em base64 link