Try   HackMD

Rancher - Configuración inicial

Una vez que hayas creado el Cluster, lo siguiente será agregar los siguientes paquetes:

  • Helm
  • Cert-manager
  • Argocd

Helm

Helm es un manejador de paquetes de Kubernetes, mediante este manejador de paquetes podrás añadir diversos paquetes a tu Cluster mediante CLI.
Para añadir Helm, puedes instalarlo mediante Brew: brew install helm en caso de que tengas MacOs, o con Chocolatey para Windows: choco install kubernetes-helm

Asimismom puedes añadir Helm mediante un archivo binario, para ello, visita la guía de instalación.

Cert-manager

Cert-manager es un manejador de certificados SSL/HTTP que te permitirá añadir y renovar certificados automaticamente.
Para añadir Cert-manager a nuestro Cluster instalalo mediante Helm con el siguiente comando:

helm install \
  cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.6.0 \
  --set installCRDs=true

ArgoCD

ArgoCD es una herramienta que te permitirá ejecutar CD, GitOps en Kubernetes. Para añadir ArgoCD a nuestro Cluster,
ejecuta los siguientes comandos:

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

Una vez que hayas ejecutado los comandos, deberás añadir los siguientes elementos:

  • Cluster Issuer
  • Ingress

ArgoCD - Cluster Issuer

Finalmente, deberás añadir un clusterIssuer para conectar el certificado con ArgoCD.

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt
  namespace: argocd
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: letsencrypt
    solvers:
      - http01:
          ingress:
            class: nginx

ArgoCD - Ingress

Mediante Ingress conectarás el servicio con la dirección HTTP que hayas declarado con tu proveedor de DNS.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: argocd-server-ingress
  namespace: argocd
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt
    kubernetes.io/ingress.class: nginx
spec:
  rules:
    - host: <dirección-http>
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: argocd-server
                port:
                  name: http
  tls:
    - hosts:
        - <dirección-http>
      secretName: argocd-tls

Finalmente, para obtener la contraseña del portal de ArgoCD, ejecuta:

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

Al ajecutar el comando te mostrará la contraseña, con la cual podrás ingresar con el usuario: admin