mmorejon / gitops-get-started

GitOps get started project using Flux CD, Kubernetes and Digital Ocean

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gitops-get-started

Si lo desea puede leer la documentación en Español.

Project to take the first steps in the GitOps work philosophy using Flux CD.

The project shows how to configure a Kubernetes cluster based on GitOps. The organization of folders and services deployed correspond to a hypothetical cluster used for development or staging environments. This cluster configuration is not ready to be used in production.

To get more out of the repository it is recommended to have basic knowledge about the GitOps work philosophy. You can expand your knowledge on this topic through this link from the Weaveworks website.

The systems used during the exercise were: Git, Terraform, Docker, Flux CD y Kubernetes. The platform used to create the Kubernetes cluster is Digital Ocean, but Minikube can also be used.

Flow to manage the infrastructure

Infrastructure Overview


Flow to manage the Kubernetes

Flux Overview

Folder structure

├── 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
Folder Description
infra Terraforms files to create the infrastructure in Digital Ocean. (Optional)
namespaces Structure of namespaces used in the cluster. Within each namespace are the applications that will be deployed.
scripts General utility folder.

Case Study Sections

The following links will guide you in the creation of a Kubernetes cluster using the GitOps work philosophy.

About

GitOps get started project using Flux CD, Kubernetes and Digital Ocean

License:MIT License


Languages

Language:Shell 66.9%Language:HCL 33.1%