diff --git a/deploy/kubernetes/easyhaproxy.yml b/deploy/kubernetes/easyhaproxy.yml index 53e1f19..64f9630 100644 --- a/deploy/kubernetes/easyhaproxy.yml +++ b/deploy/kubernetes/easyhaproxy.yml @@ -3,12 +3,12 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: manual-easyhaproxy-ingress + name: byjg-easyhaproxy-ingress namespace: easyhaproxy labels: helm.sh/chart: easyhaproxy-ingress-0.1.0 app.kubernetes.io/name: easyhaproxy-ingress - app.kubernetes.io/instance: manual + app.kubernetes.io/instance: byjg app.kubernetes.io/version: "test" app.kubernetes.io/managed-by: Helm --- @@ -16,12 +16,12 @@ metadata: kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: manual-easyhaproxy-ingress + name: byjg-easyhaproxy-ingress namespace: easyhaproxy labels: helm.sh/chart: easyhaproxy-ingress-0.1.0 app.kubernetes.io/name: easyhaproxy-ingress - app.kubernetes.io/instance: manual + app.kubernetes.io/instance: byjg app.kubernetes.io/version: "test" app.kubernetes.io/managed-by: Helm rules: @@ -82,45 +82,45 @@ rules: kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: manual-easyhaproxy-ingress + name: byjg-easyhaproxy-ingress namespace: easyhaproxy labels: helm.sh/chart: easyhaproxy-ingress-0.1.0 app.kubernetes.io/name: easyhaproxy-ingress - app.kubernetes.io/instance: manual + app.kubernetes.io/instance: byjg app.kubernetes.io/version: "test" app.kubernetes.io/managed-by: Helm roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: manual-easyhaproxy-ingress + name: byjg-easyhaproxy-ingress subjects: - kind: ServiceAccount - name: manual-easyhaproxy-ingress + name: byjg-easyhaproxy-ingress namespace: easyhaproxy --- # Source: easyhaproxy-ingress/templates/deployment.yaml apiVersion: apps/v1 kind: DaemonSet metadata: - name: manual-easyhaproxy-ingress + name: byjg-easyhaproxy-ingress namespace: easyhaproxy labels: helm.sh/chart: easyhaproxy-ingress-0.1.0 app.kubernetes.io/name: easyhaproxy-ingress - app.kubernetes.io/instance: manual + app.kubernetes.io/instance: byjg app.kubernetes.io/version: "test" app.kubernetes.io/managed-by: Helm spec: selector: matchLabels: app.kubernetes.io/name: easyhaproxy-ingress - app.kubernetes.io/instance: manual + app.kubernetes.io/instance: byjg template: metadata: labels: app.kubernetes.io/name: easyhaproxy-ingress - app.kubernetes.io/instance: manual + app.kubernetes.io/instance: byjg spec: affinity: nodeAffinity: @@ -131,7 +131,7 @@ spec: operator: In values: - master - serviceAccountName: manual-easyhaproxy-ingress + serviceAccountName: byjg-easyhaproxy-ingress securityContext: {} containers: diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 143ca49..22cc486 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -28,6 +28,10 @@ kubectl label nodes node-01 "easyhaproxy/node=master" 3. Install EasyHAProxy +There are two ways to install EasyHAProxy in a Kubernetes cluster. You can use Kubernetes Manifest or Helm 3. + +3.1. Using Kubernetes Manifest + ```bash kubectl apply -f \ https://raw.githubusercontent.com/haproxytech/kubernetes-ingress/master/deploy/haproxy-ingress-daemonset.yaml @@ -35,6 +39,42 @@ kubectl apply -f \ You can configure the behavior of the EasyHAProxy by setup specific environment variables. To get a list of the variables please follow the [docker container environment](docker-environment.md) +3.2. Using HELM 3 + +Minimal configuration + +```bash +helm repo add byjg https://opensource.byjg.com/helm +helm repo update +kubectl create namespace easyhaproxy +helm upgrade --install byjg byjg/easyhaproxy-ingress \ + --namespace easyhaproxy + --set resources.requests.cpu=100m \ + --set resources.requests.memory=128Mi +``` + +Customizing Helm Values: + +```yaml +easyhaproxy: + stats: + username: admin + password: password + refresh: "10" + customErrors: "true" + sslMode: loose + logLevel: + certbot: DEBUG + easyhaproxy: DEBUG + haproxy: DEBUG + +# Make sure to create this +masterNode: + label: easyhaproxy/node + values: + - master +``` + ## Running containers The only requirement is that you have an ingress properly setup and with the annotation `kubernetes.io/ingress.class: easyhaproxy-ingress`.