Proyecto para dar los primeros pasos en la filosofía de trabajo GitOps utilizando Flux CD.
El proyecto muestra cómo configurar un cluster de Kubernetes basándose en GitOps. La organización de carpetas y servicios desplegados corresponden con un hipotético cluster utilizado para entornos de desarrollo o pruebas. Esta configuración del cluster no está lista para ser utilizada en producción.
Para sacar mayor provecho del repositorio se recomienda tener conocimientos básicos sobre la filosofía de trabajo GitOps. Puede ampliar sus conocimientos sobre este tema a través de este enlace del sitio Weaveworks.
Los sistemas utilizados durante el ejercicio fueron: Git, Terraform, Flux CD y Kubernetes. La plataforma utilizada para crear el cluster de Kubernetes es Digital Ocean, pero también puede utilizarse Minikube.
Flujo para gestionar la infraestructura
Flujo para gestionar Kubernetes
├── infra
│ └── cluster.tf
├── namespaces
│ ├── admin
│ │ ├── namespace.yaml
│ │ └── sealed-secrets
│ │ └── sealed-secrets.yaml
│ ├── client-abc
│ │ ├── deployment.yaml
│ │ └── namespace.yaml
│ ├── client-def
│ │ ├── deployment.yaml
│ │ └── namespace.yaml
│ ├── flux-system
│ │ └── namespace.yaml
│ └── kube-system
│ ├── kube-state-metrics
│ │ └── kube-state-metrics.yaml
│ └── metrics-server
│ └── metrics-server.yaml
└── scripts
└── install.sh
Carpeta | Descripción |
---|---|
infra | Ficheros terraforms para crear la infraestructura en Digital Ocean. (Opcional) |
namespaces | Estructura de namespaces utilizados en el cluster. Dentro de cada namespace se encuentran las aplicaciones que serán desplegadas. |
scripts | Carpeta de utilidades generales. |
Los siguientes enlaces le van a guiar en la creación de un cluster de Kubernetes utilizando la filosofía de trabajo GitOps.