- Introduced `/scripts/.venv/bin/easy-haproxy` as the default entrypoint for standalone environments. - Added `_build_parser` and `start` functions to enable CLI-driven functionality configuration. - Updated packaging to reflect new `easyhaproxy.main` module and adapted project name from `easymapping` to `easyhaproxy`. - Modified `Dockerfile` to align with new script paths and entrypoints for better portability. - Enhanced documentation with dedicated sections for pip-based installation, CLI references, and systemd setup for non-Docker environments. - Adjusted helm, plugin, and environment-related docs for accurate sidebar ordering. - Added a new GitHub workflow to automate package publishing to PyPI.
1.8 KiB
1.8 KiB
| sidebar_position |
|---|
| 6 |
Helm 3
Helm is a package manager for Kubernetes. It allows you to install and manage applications on Kubernetes.
Setup EasyHAProxy with Helm 3
1) Identify the node where your EasyHAProxy container will run
:::warning Single Node Deployment EasyHAProxy will be limited to a single node. To understand why, see the limitations page. :::
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
node-01 Ready <none> 561d v1.21.13-3
node-02 Ready <none> 561d v1.21.13-3
Add the EasyHAProxy label to the node.
kubectl label nodes node-01 "easyhaproxy/node=master"
2) Install EasyHAProxy
Minimal configuration:
helm repo add byjg https://opensource.byjg.com/helm
helm repo update byjg
kubectl create namespace easyhaproxy
helm upgrade --install ingress byjg/easyhaproxy \
--namespace easyhaproxy \
--set resources.requests.cpu=100m \
--set resources.requests.memory=128Mi
Customizing Helm Values:
easyhaproxy:
stats:
username: admin
password: password
refresh: "10"
customErrors: "true"
sslMode: loose
logLevel:
certbot: DEBUG
easyhaproxy: DEBUG
haproxy: DEBUG
certbot:
email: ""
service:
create: false # If false, it will create a DaemonSet with hostPort. The easiest.
type: ClusterIP # or NodePort
annotations: {}
binding:
ports:
http: 80
https: 443
stats: 1936
additionalPorts: []
# Make sure to create this
masterNode:
label: easyhaproxy/node
values:
- master
For more parameters you can refer to the Kubernetes page.