...
I det enklaste fallet är det en statisk lista med URL:er som anropas i angiven följd vid “reset cache”. I en Kubernetes-installation finns även möjlighet att dynamiskt slå upp vilka poddar som är aktiva med hjälp av Kubernetes API.
Installation
Tjänsten är levereras som en Tomcat-applikation ( war-fil ) och kan installeras i t.ex. Tomcat på liknande sätt som tak-web och tak-services.
...
Info |
---|
Reset sker i den ordning som anges i listan. Det är viktigt att alla instanser av tak-services anges först eftersom den påverkar efterföljande i början av listan då dessa påverkar övriga komponenter. |
Statisk konfiguration med fil
Följande rader läggs till kan läggas till i den gemensamma filen tak-application.properties (i katalog som anges av $TAK_HOME, se SKLTP TAK - Konfiguration - version 3.0 och senare). Genom att den gemensamma filen återanvänds databas-konfigurationen.
Kodblock | ||
---|---|---|
| ||
# Poll interval in ms (optionaldefault value) tak.monitor.interval=120000=60000 # Delay before first poll in ms (default value) tak.monitor.initial-delay=0 # No pod lookup (default value) tak.monitor.reset.use-pod-lookup=false # List of static reset URLs tak.monitor.reset.nodes[0].url=http://tomcat1.example.com:8080/tak-services/reset/pv tak.monitor.reset.nodes[1].url=http://tomcat2.example.com:8080/tak-services/reset/pv tak.monitor.reset.nodes[2].url=http://vp1.example.com:809123000/resetcache tak.monitor.reset.nodes[3].url=http://vp2.example.com:809123000/resetcache tak.monitor.reset.nodes[4].url=http://server.example.com:8082/kat/resetcache |
...
Pod-uppslagning i Kubernetes
Exempel på hur konfiguration kan anges i en Kubernetes ConfigMap för användning som miljövariabler. Notera att databas-lösenord även behöver anges via en secret eller motsvarande.
I denna konfiguration hämtas aktiva poddar med sökning i Kubernetes API (på label selector+namespace). URL:erna skapas sedan genom att “0.0.0.0“ ersätts med IP-adressen för varje pod.
Kodblock | ||
---|---|---|
| ||
apiVersion: v1
kind: ConfigMap
metadata:
name: tak-monitor-configmap
data:
# Database settings
SPRING_DATASOURCE_DRIVERCLASSNAME: com.mysql.cj.jdbc.Driver
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-host:3306/takv3?autoReconnect=true
# Activate pod lookup
TAK_MONITOR_RESET_USEPODLOOKUP: "true"
TAK_MONITOR_RESET_PODNAMESPACE: skltp-default
# List of applications, identified by label selectors
# "0.0.0.0" is used as a placeholder for pod ip
TAK_MONITOR_RESET_NODES_0_LABEL: app.kubernetes.io/name=tak-services
TAK_MONITOR_RESET_NODES_0_URL: http://0.0.0.0:8080/tak-services/reset/pv
TAK_MONITOR_RESET_NODES_1_LABEL: app=vp
TAK_MONITOR_RESET_NODES_1_URL: http://0.0.0.0:23000/resetcache
TAK_MONITOR_RESET_NODES_2_LABEL: app.kubernetes.io/name=kat-application
TAK_MONITOR_RESET_NODES_2_URL: http://0.0.0.0:8082/kat/resetcache |