Wsparcie load balancera przez metodę HEAD /status/check i kod odpowiedzi.
200 - node OK, flaga =1
409 - node NOT READY, flaga = 0
inne - node NOT OK
Flaga przechowywana jest w kontenerze apirest, w pliku /app/check.txt. Logika flagi przedstawiona jest w poniższej tabelce:
metoda | curl | konfiguracja | response |
HEAD /api/v2/status/check | curl -X HEAD | apirest# cat /app/check.txt | 200 |
HEAD /api/v2/status/check | curl -X HEAD | apirest# cat /app/check.txt | 409 |
Flagę możemy zmieniać między wartościami 1 lub 0 na kilka sposobów:
Poprzez zmapowanie pliku check.txt w docker-compose.yaml dla serwisu apirest / gateway.
>Stworzyć plik check.txt w folderze, w którym znajduje się plik docker-compose.yaml:
$ echo "1" > check.txt
>Zmapować w docker-compose.yaml pod serwisem gateway plik check.txt:
services:
gateway:
volumes:
- ./check.txt:/app/check.txt:z
>zrestartować kontener gateway
$ docker-compose restart gateway
Zmianę pliku bezpośrednio w kontenerze gateway.
>Zapisać id konenera
$ docker ps | grep gateway
>Nadpisać wartość check.txt w kontenerze
$ docker exec -it <id_kontenera> sh -c "echo "1" > /app/check.txt"
>Potwierdzić wartość flagi
$ docker exec -it <id_kontenera> sh -c "cat /app/check.txt"
UWAGA: Wartość flagi zmieni się na domyślną po zrestartowaniu kontenera. Domyślna wartość to 1.