Uday Docs

Uday Docs

Did You Know?

You can create any type of product documentation with Docy

Etapa 3 – Instalação de Componentes Essenciais

Estimated reading: 3 minutes 91 views
ComponenteFinalidade
Nginx Ingress ControllerExposição de serviços HTTP/HTTPS
Cert-ManagerGerenciar certificados TLS (Let’s Encrypt)
Kubernetes DashboardInterface web de gerenciamento

4.1 – NGINX Ingress Controller

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/deploy/static/provider/cloud/deploy.yaml

Aguarde os pods ficarem prontos:

kubectl get pods -n ingress-nginx -w

Para acesso externo, crie um LoadBalancer ou um NodePort com IP fixo via MetalLB ou Ingress IP.


🧩 4.2 – Instalar Cert-Manager

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.yaml

Verifique se os pods iniciaram:

kubectl get pods -n cert-manager

Opcional: criar ClusterIssuer para Let’s Encrypt:

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    email: seu-email@dominio.com
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
    - http01:
        ingress:
          class: nginx

Salve como cluster-issuer.yaml e aplique:

kubectl apply -f cluster-issuer.yaml

🧩 4.3 – Instalar Kubernetes Dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

Criar Service Account com acesso admin:

kubectl create serviceaccount admin-user -n kubernetes-dashboard

kubectl create clusterrolebinding admin-user-binding \
  --clusterrole=cluster-admin \
  --serviceaccount=kubernetes-dashboard:admin-user

Pegar o token de acesso:

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

Expose via ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dashboard
  namespace: kubernetes-dashboard
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  rules:
  - host: dashboard.seudominio.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: kubernetes-dashboard
            port:
              number: 443

🧩 4.4 – Instalar Prometheus e Grafana (via kube-prometheus-stack)

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

kubectl create namespace monitoring

helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring

Para acessar o Grafana:

kubectl get svc -n monitoring
kubectl get secret -n monitoring prometheus-grafana -o jsonpath="{.data.admin-password}" | base64 --decode

🧩 4.5 – Instalar ArgoCD (GitOps)

kubectl create namespace argocd

kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

Criar ingress para acesso externo:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: argocd-ingress
  namespace: argocd
spec:
  rules:
  - host: argocd.seudominio.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: argocd-server
            port:
              number: 80

Pegar a senha do admin:

kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d

✅ Etapa Concluída

Neste ponto você tem um cluster com:

  • Acesso externo via Ingress
  • TLS automático via Let’s Encrypt
  • Dashboard administrativo
  • Monitoramento com Prometheus e Grafana
  • GitOps com ArgoCD

🔜 Próxima Etapa (Opcional):

Etapa 5 – Instalar MetalLB ou Ingress Externo com IPs fixos no on-premises

Deseja que eu prepare essa etapa também?

Posso também preparar manifests YAML prontos ou um repositório GitOps base para você usar no ArgoCD. Deseja seguir por esse caminho?

Leave a Comment

Share this Doc

Etapa 3 – Instalação de Componentes Essenciais

Or copy link

CONTENTS