From 58bda7eef001520cbab852515c27aecd59cc7c53 Mon Sep 17 00:00:00 2001 From: Joao Gilberto Magalhaes Date: Sun, 12 Feb 2023 09:51:54 -0600 Subject: [PATCH] Add MicroK8s, Helm and Dokku to the documentation --- README.md | 30 ++++++++----- docs/dokku.md | 7 +++ docs/easyhaproxy_dokku.png | Bin 0 -> 9004 bytes docs/easyhaproxy_helm.png | Bin 0 -> 5786 bytes docs/easyhaproxy_microk8s.png | Bin 0 -> 4149 bytes docs/helm.md | 79 ++++++++++++++++++++++++++++++++++ docs/kubernetes.md | 59 +------------------------ docs/microk8s.md | 52 ++++++++++++++++++++++ 8 files changed, 160 insertions(+), 67 deletions(-) create mode 100644 docs/dokku.md create mode 100644 docs/easyhaproxy_dokku.png create mode 100644 docs/easyhaproxy_helm.png create mode 100644 docs/easyhaproxy_microk8s.png create mode 100644 docs/helm.md create mode 100644 docs/microk8s.md diff --git a/README.md b/README.md index 92b158a..ac4d522 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ [![GitHub source](https://img.shields.io/badge/Github-source-informational?logo=github)](https://github.com/byjg/docker-easy-haproxy/) [![GitHub license](https://img.shields.io/github/license/byjg/docker-easy-haproxy.svg)](https://opensource.byjg.com/opensource/licensing.html) [![GitHub release](https://img.shields.io/github/release/byjg/docker-easy-haproxy.svg)](https://github.com/byjg/docker-easy-haproxy/releases/) +[![Helm Version](https://img.shields.io/badge/dynamic/yaml?color=blue&label=Helm&query=%24.entries.easyhaproxy%5B0%5D.version&url=http%3A%2F%2Fopensource.byjg.com%2Fhelm%2Findex.yaml)](https://opensource.byjg.com/helm) ![EasyHAProxy](docs/easyhaproxy_logo.png) @@ -41,26 +42,35 @@ The steps are: - Run the EasyHAProxy container; - Add some labels to the containers you want to be parsed by EasyHAProxy (see detailed instructions below); -- EasyHAProxy will automatically detect the containers, set up, and reload the HAProxy configurations for you without downtime. +- EasyHAProxy will automatically detect the containers, set up, and reload the HAProxy configurations for you without downtime. ## Detailed Instructions For detailed instructions on how to use EasyHAProxy, follow the instructions for the platform you want to use: -| [Kubernetes](docs/kubernetes.md) | [Docker Swarm](docs/swarm.md) | [Docker](docs/docker.md) | [Static](docs/static.md) -|:----------:|:------------:|:------:|:-------: -| ![Kubernetes](docs/easyhaproxy_kubernetes.png) | ![Docker Swarm](docs/easyhaproxy_swarm.png) | ![Docker](docs/easyhaproxy_docker.png) | ![Static](docs/easyhaproxy_static.png) +[![Kubernetes](docs/easyhaproxy_kubernetes.png)](docs/kubernetes.md) +[![Docker Swarm](docs/easyhaproxy_swarm.png)](docs/swarm.md) +[![Docker](docs/easyhaproxy_docker.png)](docs/docker.md) +[![Static](docs/easyhaproxy_static.png)](docs/static.md) + +Or you can install using tools: + +[![Helm](docs/easyhaproxy_helm.png)](docs/helm.md) +[![MicroK8s](docs/easyhaproxy_microk8s.png)](docs/microk8s.md) +[![Dokku](docs/easyhaproxy_dokku.png)](docs/dokku.md) ## See EasyHAProxy in action Click on the image to see the videos (use HD for better visualization) -| | | -|:----------:|:------------:| -| [![Docker In Action](docs/video-docker.png)](https://youtu.be/ar8raFK0R1k) | [![Docker and Letsencrypt](docs/video-docker-ssl.png)](https://youtu.be/xwIdj9mc2mU) | -| [![K8s In Action](docs/video-kubernetes.png)](https://youtu.be/uq7TuLIijks) | [![K8s and Letsencrypt](docs/video-kubernetes-letsencrypt.png)](https://youtu.be/v9Q4M5Al7AQ) | -| [![Static Configuration](docs/video-static.png)](https://youtu.be/B_bYZnRTGJM) | [![TCP Mode](docs/video-tcp-mysql.png)](https://youtu.be/JHqcq9crbDI) | -[Here is the code](https://gist.github.com/byjg/e125e478a0562190176d69ea795fd3d4) applied in the examples above. +[![Docker In Action](docs/video-docker.png)](https://youtu.be/ar8raFK0R1k) +[![Docker and Letsencrypt](docs/video-docker-ssl.png)](https://youtu.be/xwIdj9mc2mU) +[![K8s In Action](docs/video-kubernetes.png)](https://youtu.be/uq7TuLIijks) +[![K8s and Letsencrypt](docs/video-kubernetes-letsencrypt.png)](https://youtu.be/v9Q4M5Al7AQ) +[![Static Configuration](docs/video-static.png)](https://youtu.be/B_bYZnRTGJM) +[![TCP Mode](docs/video-tcp-mysql.png)](https://youtu.be/JHqcq9crbDI) + +[Here is the code](https://gist.github.com/byjg/e125e478a0562190176d69ea795fd3d4) applied in the examples above. ---- [Open source ByJG](http://opensource.byjg.com) diff --git a/docs/dokku.md b/docs/dokku.md new file mode 100644 index 0000000..a8c2e25 --- /dev/null +++ b/docs/dokku.md @@ -0,0 +1,7 @@ +# Dokku + +Dokku is a Docker powered mini-Heroku in around 100 lines of Bash. It is the smallest PaaS implementation you've ever seen, weighing in at a little over 100 MB of memory usage and about 80 MB of disk space. + +## Installing EasyHAProxy on Dokku + +Please refer to the [official documentation](https://github.com/dokku/dokku/blob/master/docs/networking/proxies/haproxy.md). diff --git a/docs/easyhaproxy_dokku.png b/docs/easyhaproxy_dokku.png new file mode 100644 index 0000000000000000000000000000000000000000..18ba6f373393ee5ddcd7149a66649d810847c546 GIT binary patch literal 9004 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 literal 0 HcmV?d00001 diff --git a/docs/easyhaproxy_helm.png b/docs/easyhaproxy_helm.png new file mode 100644 index 0000000000000000000000000000000000000000..d95b68bcae13c50f359d4fe8f429a23716a4a201 GIT binary patch literal 5786 zcmV;L7G>#)P)EX>4Tx04R}tkv&MmKpe$iQ>7x64i*t{$WWauh>AFB6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfb#YR3krMxx6k5c1aNLh~_a1le0HIM~n$;ArbawP98)!&@`bF& zD(5ZETBXKX_v9}O=k=9kuG1Vw5{p=Z1Q7~qD5C-!aawg!ETm~a;o~22{Svtpa+Sfz zv4AQx$gUs!4}N!R6(%RVq;LZ0esP?S5g@b+H0zG@ee5{R6Cn5uTz5RQp)!z?5`*M>V!+0bB000JJOGiWiUjStQAwhNe@Bjb+32;bRa{vG? zBLDy{BLR4&KXw2B00(qQO+^Ri0t^or5My(qLI3~&8FWQhbVF}#ZDnqB07G(RVRU6= zAa`kWXdp*PO;A^X4i^9b6mv;LK~#9!?VWjil-0S%zt8*5Ou`xzFa#BaqWy@dh!tx^ zExiI(AS9{9gWzU4ir()kb>;>q6RSH1w03gM3833 z;gTZ?YACFNBtVa_4ZH)i?Ej}cPhY#>hNAEYQ0Iqz-kHF$9iDszIET4Aiv-AT7=W8% zJg`A#F(_OlK;B~hM}Rd2D2ZJ_PeJKdBtX8x_5gZZf_|4FW&)}OGbEnEBLLq{tQW~p zmNXVufILR;gilp3#W6(!K32_0B_PUF@-ZM=@kO& z{161%1TGnr{oaa{pqkA5?Zp%B0kmdERs8@g57;G8Jt#*BuxuB!xAp@r!w2}xhb-Aq zi)n|-!;9-~EG*a>nGLni1w9^AsPjLG%C>Y8Aw2|W4cpk(BH+yEr)LO<-b1YKQ}6#H zmIYJFv#kHA;p1H68^eVXiVZe+<^#Rb42efZGrJhrPw3#QlMOXsmy5wPl=aA5lV&~$I6nYg37ptrPDarlJ}LKvK$ZAzHRWa; zt>@&ky&0c>!#lvfZn5P5_;Fb17d)~6n4MrS?c5`PNV2bN60nRqzn9B?o8y&j)uT@DgJg1`qZh;j*DdpZ|go|*YCEd`PLl9bv^D3rc7T=^4_U=7Om zT$J8Kd$=v_pG10=xxh$N-*(xIGuRhg&GaD$=iN^)!$K_65@$#Ri!G`kOd? z-vf*R*?}G0h2vEa2$g~wn09E_+V#w4=;0lS>g%pFFy(C4?OnmFV{?!I3wGJq?Q4Kh zE=vC&$S8uowoVQ5yvLyQyoiP;9E!?7L{CGhj`s0HU}y?8Hbu9vkAZ)p);z>CLlJwoo}Z!PerBG+U$sHD{xI7dQjRbVTPnz+zP9VaeM#?NAeE z3tQL#VwWT4J)n<^x;IkdJD#uhPrJ&RUayDv+JWnc?#4;r1DQiSQ+-_^@((!<)!$;w zn<(>uv$8Px03(4}h`x!MRaoBfsKTN^EVUTK+~#uf732m&PDbn%>CX#zW-F9h&jRPW zDBT8f62bEIOp7+Hz9HI7IUd#9fr-S8>B~CaLAagv;5>X~P}L8fQ0NmFg76kl=Aw=l zXla?i#h)WT2v8dULj4fWKLHnB4Y>oce~fnk1h)h92WK{LA<2U|5*v8nrHERP5W|2j znqOrtDmS2^7qEPQ`4Q-yE`HdI=&=|YsUDms1o&j%R{1jM3og{327G!rtsx8BcO`HO zq#UW+0Q?1!w}4tyTM=4N-IcV<#wtZje*_z4G{RKiC}3Qw)-YfZA{V2&1~@Khd6h|s zKA(~xoD&52L}FL2MY-FBwEcaM8K7fQ=*e1?

Xh?nGrTB4Ata=>4$pmekt&q(2fI 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 Y4{KJK>{FW5KmY&$07*qoM6N<$g1YTypa1{> literal 0 HcmV?d00001 diff --git a/docs/easyhaproxy_microk8s.png b/docs/easyhaproxy_microk8s.png new file mode 100644 index 0000000000000000000000000000000000000000..ce9eb173ec97ca52ed516b621c9a5505394a47ad GIT binary patch literal 4149 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 561d v1.21.13-3 +node-02 Ready 561d v1.21.13-3 +``` + +Add the EasyHAProxy label to the node. + +```bash +kubectl label nodes node-01 "easyhaproxy/node=master" +``` + +### 2) Install EasyHAProxy + +Minimal configuration + +```bash +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: + +```yaml +easyhaproxy: + stats: + username: admin + password: password + refresh: "10" + customErrors: "true" + sslMode: loose + logLevel: + certbot: DEBUG + easyhaproxy: DEBUG + haproxy: DEBUG + letsencrypt: + 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](kubernetes.md) page. + +---- +[Open source ByJG](http://opensource.byjg.com) diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 337a459..24743f5 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -12,7 +12,7 @@ There are three installation modes: To install EasyHAProxy in your cluster, follow these steps: -### 1) Identify the node where your EasyHAProxy container will run. +### 1) Identify the node where your EasyHAProxy container will run EasyHAProxy will be limited to a single node. To understand that see [limitations](limitations.md) page. @@ -30,11 +30,7 @@ Add the EasyHAProxy label to the node. kubectl label nodes node-01 "easyhaproxy/node=master" ``` -### 2) Install EasyHAProxy - -You can install EasyHAProxy in a Kubernetes cluster using Kubernetes Manifest or Helm 3. - -#### 2.1.) Using Kubernetes Manifest +### 2) Install EasyHAProxy with Kubernetes Manifest ```bash kubectl create namespace easyhaproxy @@ -45,57 +41,6 @@ kubectl apply -f \ If necessary, you can configure environment variables. To get a list of the variables, please follow the [docker container environment](docker-environment.md) -#### 2.2) Using HELM 3 - -Minimal configuration - -```bash -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: - -```yaml -easyhaproxy: - stats: - username: admin - password: password - refresh: "10" - customErrors: "true" - sslMode: loose - logLevel: - certbot: DEBUG - easyhaproxy: DEBUG - haproxy: DEBUG - letsencrypt: - 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 -``` - ## Running containers Your container only requires creating an ingress with the annotation `kubernetes.io/ingress.class: easyhaproxy-ingress` pointing to your service. diff --git a/docs/microk8s.md b/docs/microk8s.md new file mode 100644 index 0000000..decbe36 --- /dev/null +++ b/docs/microk8s.md @@ -0,0 +1,52 @@ +# Microk8s Add-ons + +Microk8s is a lightweight Kubernetes distribution that can run on a single machine. It is very easy to install and use. +You can add custom addons to your Microk8s installation. +Here are the steps to install EasyHAProxy on your Microk8s. + +## Installing ByJG repository + +Before install the addons, you need to add the ByJG repository to your Microk8s installation. + +1. Access the microk8s host machine and run: + +```shell +microk8s addons repo add byjg https://github.com/byjg/microk8s-addons.git +``` + +2. Check if it is installed: + +```text +$ microk8s status + +microk8s is running +... +addons: + ... + disabled: + easyhaproxy # (byjg) EasyHAProxy can detect and configure HAProxy automatically based on ingress labels + .... +``` + +## Installing EasyHAProxy addon + +EasyHAProxy can detect and configure HAProxy automatically based on ingress labels. + +Usage: + +Install as a Daemonset + +```shell +microk8s enable easyhaproxy +``` + +Install as a NodePort + +```shell +microk8s enable easyhaproxy --nodeport +``` + +For more parameters you can refer to the [Kubernetes](kubernetes.md) page. + +---- +[Open source ByJG](http://opensource.byjg.com)