All Projects → dniel → blogr-pve

dniel / blogr-pve

Licence: other
Puppet provisioning of HA failover/cluster environment implemented in Proxmox Virtual Environment and Linux boxes.

Programming Languages

shell
77523 projects
Puppet
460 projects
ruby
36898 projects - #4 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to blogr-pve

Consul.ServiceDiscovery.Demo
This demo shows how to implement simple containerized (Docker) microservice architecture with gateway, load balancer (Ocelot) and automatic service discovery (Consul).
Stars: ✭ 24 (-14.29%)
Mutual labels:  consul, service-discovery, microservices-architecture
Docker Compose Ha Consul Vault Ui
A docker-compose example of HA Consul + Vault + Vault UI
Stars: ✭ 136 (+385.71%)
Mutual labels:  consul, high-availability
Hippo
💨A well crafted go packages that help you build robust, reliable, maintainable microservices.
Stars: ✭ 134 (+378.57%)
Mutual labels:  consul, service-discovery
Foreman
an application that automates the lifecycle of servers
Stars: ✭ 2,102 (+7407.14%)
Mutual labels:  puppet, virtualization
My Cheat Sheets
A place to keep all my cheat sheets for the complete development of ASIC/FPGA hardware or a software app/service.
Stars: ✭ 94 (+235.71%)
Mutual labels:  consul, grafana
User.api
集成网关、身份认证、Token授权、微服务、.netcore等的基于CQRS的微服务开发框架示例
Stars: ✭ 109 (+289.29%)
Mutual labels:  consul, service-discovery
Microservices Sample
Sample project to create an application using microservices architecture
Stars: ✭ 167 (+496.43%)
Mutual labels:  consul, microservices-architecture
Spring Cloud Consul
Spring Cloud Consul
Stars: ✭ 703 (+2410.71%)
Mutual labels:  consul, service-discovery
kongsul
Kong Api Gateway with Consul Service Discovery (MicroService)
Stars: ✭ 35 (+25%)
Mutual labels:  consul, service-discovery
Proxmox
Proxmox Helper Scripts
Stars: ✭ 3,882 (+13764.29%)
Mutual labels:  lxc, proxmox
infrastructure
Flux based GitOps repository for my home lab infrastructure.
Stars: ✭ 14 (-50%)
Mutual labels:  grafana, traefik
Eureka Consul Adapter
This project contains a Spring Boot Starter that registers HTTP endpoints on a Spring Cloud Eureka server to support Prometheus's service discovery mechanism for Consul (<consul_sd_config>)
Stars: ✭ 93 (+232.14%)
Mutual labels:  consul, service-discovery
Containerpilot
A service for autodiscovery and configuration of applications running in containers
Stars: ✭ 1,078 (+3750%)
Mutual labels:  consul, service-discovery
Library
A microservice project using .NET Core 2.0, DDD, CQRS, Event Sourcing, Redis and RabbitMQ
Stars: ✭ 122 (+335.71%)
Mutual labels:  consul, service-discovery
Sample Vertx Microservices
Two applications in different branches illustrates how to create asynchronous microservices with Vert.x, Consul and MongoDB, and how to secure them with Vert.x OAuth2 module and Keycloak
Stars: ✭ 37 (+32.14%)
Mutual labels:  consul, service-discovery
Condenserdotnet
API Condenser / Reverse Proxy using Kestrel and Consul, Including light weight consul lib
Stars: ✭ 147 (+425%)
Mutual labels:  consul, service-discovery
Uragano
Uragano, A simple, high performance RPC library. Support load balancing, circuit breaker, fallback, caching, intercepting.
Stars: ✭ 28 (+0%)
Mutual labels:  consul, service-discovery
Registrator
Service registry bridge for Docker with pluggable adapters
Stars: ✭ 4,558 (+16178.57%)
Mutual labels:  consul, service-discovery
Docker Alpine
Docker containers running Alpine Linux and s6 for process management. Solid, reliable containers.
Stars: ✭ 574 (+1950%)
Mutual labels:  consul, service-discovery
ceil
Helmut Hoffer von Ankershoffen experimenting with auto-provisioned RPi cluster running K8S on bare-metal
Stars: ✭ 42 (+50%)
Mutual labels:  grafana, traefik

Proxmox Virtual Environment

Puppet scripts for my home lab high-availability(HA) development environment.

My home lab environment for software development and infrastructure that has a production like configuration that I use to learn and practice on DevOps and software development. The setup is similar to and handle some of the complexity that a IT-department would need to meet the demands of a production, test and dev environment.

It configures a pretty standard high-availability environment with a pair of reverse proxies that load balance in front of four backend servers that has been divided in two clusters and using a primary and hot-standby for stored state.

The network has been segmented into subnetworks for dmz and a internal corporate network + more to emulate a production like environment.

Features

  • Clustered proxmox virtual environment on three machines.
  • Hardware failover with virtualized linux containers deployed on the proxmox cluster.
  • Segmented network, divided into subnets and vlans for security
  • Load balanced frontend servers.
  • Load balanced node backend server.
  • A sample web application.
  • Immutable lightweight lxc containers with one dedicated task each. (debian8)
  • Service discovery with consul, health check of nodes and services with consul
  • Provisioning with puppet scripts for configuration and containers
  • Centralized logging from all nodes to ELK stack
  • Notifications of events to mattermost
  • Continuous deployment, a build pipeline with Jenkins2

Hardware

Three retired work laptops, Lenovo W520 and W530 with 16GB ram and old school spinning hard drives connected with a Cisco switch with VLAN support, Cisco SG 200-08, for directing network traffic between them.

alt tag

Proxmox cluster on three nodes.

A screenshot from the Proxmox Web Admin. The three machines has been added to the same cluster and can be managed through the same admin console.

alt tag

Virtual machines overview with networks

This is how is looks like if modelled with Archimate and Archi. I have modelled just the virtual machines, the networks and firewalls that connect them.

alt tag

The sample application that is deployed

Is a very simple React application Blogr that uses a Node Express backend and a PostgreSQL database for persistence. Right now its deployed using the same puppet script that install the configuration and system software but this eventually be handled by Jenkins Pipeline.

Configuration

Network configuration with Pfsense

Container virtualization with Linux LXC and Proxmox

Continuous Delivery with Jenkins Pipeline

Service Discovery with Consul

Application orchestration with Rancher, TODO

Centralized logging with ELK, TODO

Centralized monitoring with Prometheus and Grafana, TODO

Provisioning with Puppet, TODO

Limitations

  • Tested with Proxmox Virtual Environment 4.2-2/725d76f0.
  • Virtual containers in Proxmox LXC installed with Debian 8.
  • pfSense for firewall, gateway, routing, virtual ips of WAN, DMZ and LAN.
  • A hardware network switch to route the vlans between different hardware nodes.
  • Will not configure proxmox or pfsense, both must be manually installed and configured.

Future development

  • SNMP monitoring of all hosts and services, Grafana.
  • Central user store, LDAP?
  • Automatic backup of whole cluster.
  • Store secrets in HashiCorp Vault
  • Reimplement - Firewall with failover. (removed, will be re-added when other stuff has been finished)
  • Reimplement - Database with failover. (removed, will be re-added when other stuff has been finished)
  • Create base default image for LXC containers containing bootstrap code for faster creation of new containers.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].