mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 18:18:41 +00:00
This change is aimed at improving the development experience. - The option `make delete` has been added. - Added check for `NAME` and `NAMESPACE` variables - Now, any package (not just system ones) can include options such as make show, make diff, make apply. - Applications from packages/extra require explicit specification of the `NAMESPACE`. - Applications from packages/apps require explicit specification of both `NAME` and `NAMESPACE`. Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Managed Nginx Caching Service
The Nginx Caching Service is designed to optimize web traffic and enhance web application performance. This service combines custom-built Nginx instances with HAproxy for efficient caching and load balancing.
Deployment infromation
The Nginx instances include the following modules and features:
- VTS module for statistics
- Integration with ip2location
- Integration with ip2proxy
- Support for 51Degrees
- Cache purge functionality
HAproxy plays a vital role in this setup by directing incoming traffic to specific Nginx instances based on a consistent hash calculated from the URL. Each Nginx instance includes a Persistent Volume Claim (PVC) for storing cached content, ensuring fast and reliable access to frequently used resources.
Deployment Details
The deployment architecture is illustrated in the diagram below:
┌─────────┐
│ metallb │ arp announce
└────┬────┘
│
│
┌───────▼───────────────────────────┐
│ kubernetes service │ node
│ (externalTrafficPolicy: Local) │ level
└──────────┬────────────────────────┘
│
│
┌────▼────┐ ┌─────────┐
│ haproxy │ │ haproxy │ loadbalancer
│ (active)│ │ (backup)│ layer
└────┬────┘ └─────────┘
│
│ balance uri whole
│ hash-type consistent
┌──────┴──────┬──────────────┐
┌───▼───┐ ┌───▼───┐ ┌───▼───┐ caching
│ nginx │ │ nginx │ │ nginx │ layer
└───┬───┘ └───┬───┘ └───┬───┘
│ │ │
┌────┴───────┬─────┴────┬─────────┴──┐
│ │ │ │
┌───▼────┐ ┌────▼───┐ ┌───▼────┐ ┌────▼───┐
│ origin │ │ origin │ │ origin │ │ origin │
└────────┘ └────────┘ └────────┘ └────────┘
Known issues
VTS module shows wrong upstream resonse time
Parameters
Common parameters
| Name | Description | Value |
|---|---|---|
external |
Enable external access from outside the cluster | false |
size |
Persistent Volume size | 10Gi |
haproxy.replicas |
Number of HAProxy replicas | 2 |
nginx.replicas |
Number of Nginx replicas | 2 |
Configuration parameters
| Name | Description | Value |
|---|---|---|
endpoints |
Endpoints configuration | [] |