Desplegament de Grafana i Prometheus
En els següents apartats es descriu el procediment per realitzar el desplegament dels serveis Grafana i Prometheus per a una aplicació desplegada a OpenShift.
En primer lloc, s’ha de sol·licitar a Suport Cloud, pels canals oficials de comunicació (Comunicació proveïdors d’aplicacions amb Suport Cloud (gencat.cat)), la creació de dos Service Account pels serveis de grafana i prometheus en el namespace en què s’efectuarà el desplegament dels serveis. El nom de les service account a crear són “grafana” i “prometheus” respectivament.
L’ estructura del repositori ha de ser similar al d’altres aplicacions. Els fitxers s’han de situar en la branca màster per a que es pugui desplegar mitjançant SIC i ha d’ existir un directori anomenat sic en el qual es trobarà el fitxer aca.yaml. S’ enllacen els fitxers aca.yaml que poden ser utilitzats com a referència per al desplegament dels serveis:
Al fitxer aca.yaml s’enllaça la url del repositori dels orquestradors a desplegar, com es pot veure a la línia 11 dels fitxers aca.yaml enllaçats. S’adjunta una imatge d’un repositori a mode d’ exemple.
Depenent del CPD i cluster d’Openshift en el qual es trobi el namespace en què es vagin a desplegar aquests serveis, hi pot haver lleugeres modificacions en els orquestradors. En els següents punts s’inclouen exemples i instruccions de parametrització d’orquestradors per a cadascun dels Cluster d’Openshift i CPD.
CPD2 i CPD3
Per realitzar el desplegament de tots els components requerits pels serveis de grafana i prometheus al namespace on està desplegada l’ aplicació cal incloure els següents descriptors:
- Grafana
S’han de desplegar els següents components: ruta, role, servei, statefulset, configmaps i secret. Les següents plantilles es poden utilitzar com a referència substituint els paràmetres segons s’indica a continuació:
- Grafana Configmap 1
- Grafana Configmap 2
- Grafana Configmap 3
- Grafana Configmap 4
- Grafana Configmap 5
- Grafana PVC
- Grafana Role
- Grafana Route
- Grafana Secret
- Grafana Service
- Grafana Stateful Set
En tots els fitxers, substituir l’expressió “${NAMESPACE}” pel nom del namespace de l’aplicació.
En el fitxer route-grafana.yaml s’ha de substituir l’expressió “${ROUTE_URL}” pel domini sol·licitat per al servei.
En el mateix fitxer, l’expressió “${ROUTER_LABEL}” es substituirà per:
- Si es tracta de CPD2, “external-001” o “internal-001” segons si el domini és d’internet o intranet respectivament.
- Si es tracta de CPD3, “internet” o “intranet” segons si el domini és d’internet o intranet respectivament.
En el fitxer grafana-pvc-cpd2-cpd3.yaml es substituirà l’etiqueta “${PVC_SIZE}” per la mida de pvc assignat en l’aprovisionament.
Finalment, en el fitxer grafana-secret.yaml s’ha de substituir l’expressió “${SESSION_SECRET}” per qualsevol combinació de 43 caràcters de longitud compresos en el següent interval [a-zA-Z0-9] i codificat en base64.
- Prometheus
S’ han de desplegar els següents components: ruta, role, servei, statefulset, configmap i secret. Les següents plantilles es poden utilitzar com a referència substituint els paràmetres segons s’indica a continuació:
- Prometheus Configmap
- Prometheus PVC
- Prometheus Role
- Prometheus Route
- Prometheus Service
- Prometheus Secret
- Prometheus Stateful Set
En tots els fitxers han de ser parametritzats substituint en l’expressió “${NAMESPACE}” pel nom del namespace de l’aplicació.
En el fitxer prometheus-route.yaml s’ha de substituir l’expressió “${ROUTE_URL}” pel domini sol·licitat per al servei.
En el mateix fitxer, l’expressió “${ROUTER_LABEL}” es substituirà per:
- Si es tracta de CPD2, “external-001” o “internal-001” segons si el domini és d’internet o intranet respectivament.
- Si es tracta de CPD3, “internet” o “intranet” segons si el domini és d’internet o intranet respectivament.
En el fitxer prometheus-pvc-cpd2-cpd3.yaml es substituirà l’etiqueta “${PVC_SIZE}” per la mida de pvc assignat en l’aprovisionament.
Finalment, en el fitxer secret-prometheus.yaml s’ha de substituir l’expressió “${SESSION_SECRET}” per qualsevol combinació de 43 caràcters de longitud compresos en el següent interval [a-zA-Z0-9] i codificat en base64.
CPD4 Transversal
Per realitzar el desplegament de tots els components requerits pels serveis de grafana i prometheus al namespace on està desplegada l’aplicació cal incloure els següents descriptors:
- Grafana
S’han de desplegar els següents components: ruta, role, servei, statefulset, configmaps i secret. Les següents plantilles es poden utilitzar com a referència substituint els paràmetres segons s’indica a continuació:
- Grafana Configmap 1
- Grafana Configmap 2
- Grafana Configmap 3
- Grafana Configmap 4
- Grafana Configmap 5
- Grafana PVC
- Grafana Role
- Grafana Route
- Grafana Secret
- Grafana Service
- Grafana Stateful Set
En tots els fitxers, substituir l’expressió “${NAMESPACE}” pel nom del namespace de l’aplicació.
En el fitxer route-grafana.yaml s’ha de substituir l’expressió “${ROUTE_URL}” pel domini sol·licitat per al servei.
- En el mateix fitxer, l’expressió “${ROUTER_LABEL}” es substituirà per “internet” o “intranet” segons si el domini és d’internet o intranet respectivament.
En el fitxer grafana-pvc-cpd4-salut.yaml es substituirà l’etiqueta “${PVC_SIZE}” per la mida de pvc assignat en l’aprovisionament.
Finalment, en el fitxer grafana-secret.yaml s’ha de substituir l’expressió “${SESSION_SECRET}” per qualsevol combinació de 43 caràcters de longitud compresos en el següent interval [a-zA-Z0-9] i codificat en base64.
- Prometheus
S’han de desplegar els següents components: ruta, role, servei, statefulset, configmap i secret. Les següents plantilles es poden utilitzar com a referència substituint els paràmetres segons s’indica a continuació:
- Prometheus Configmap
- Prometheus PVC
- Prometheus Role
- Prometheus Route
- Prometheus Service
- Prometheus Secret
- Prometheus Stateful Set
En tots els fitxers han de ser parametritzats substituint en l’expressió “${NAMESPACE}” pel nom del namespace de l’aplicació.
En el fitxer prometheus-route.yaml s’ha de substituir l’expressió “${ROUTE_URL}” pel domini sol·licitat per al servei.
En el mateix fitxer, l’expressió “${ROUTER_LABEL}” es substituirà per “internet” o “intranet” segons si el domini és d’internet o intranet respectivament.
En el fitxer prometheus-pvc-cpd4.yaml es substituirà l’etiqueta “${PVC_SIZE}” per la mida de pvc assignat en l’aprovisionament.
Finalment, en el fitxer secret-prometheus.yaml s’ha de substituir l’expressió “${SESSION_SECRET}” per qualsevol combinació de 43 caràcters de longitud compresos en el següent interval [a-zA-Z0-9] i codificat en base64.
CPD4 Salut
Per realitzar el desplegament de tots els components requerits pels serveis de grafana i prometheus al namespace on està desplegada l’ aplicació cal incloure els següents descriptors:
- Grafana
Es necessiten els següents components: ruta, role, servei, statefulset, configmaps i secret. S’adjunten els descriptors que poden ser utilitzats com a referència:
- Grafana Configmap 1
- Grafana Configmap 2
- Grafana Configmap 3
- Grafana Configmap 4
- Grafana Configmap 5
- Grafana PVC
- Grafana Role
- Grafana Route
- Grafana Secret
- Grafana Service
- Grafana Stateful Set
En tots els fitxers, substituir l’expressió “${NAMESPACE}” pel nom del namespace de l’aplicació.
En el fitxer route-grafana.yaml s’ha de substituir l’expressió “${ROUTE_URL}” pel domini sol·licitat per al servei.
En el mateix fitxer, l’expressió “${ROUTER_LABEL}” es substituirà per “internet” o “intranet” segons si el domini és d’internet o intranet respectivament.
En el fitxer grafana-pvc-cpd4-salut.yaml es substituirà l’etiqueta “${PVC_SIZE}” per la mida de pvc assignat en l’aprovisionament.
Finalment, en el fitxer grafana-secret.yaml s’ha de substituir l’expressió “${SESSION_SECRET}” per qualsevol combinació de 43 caràcters de longitud compresos en el següent interval [a-zA-Z0-9] i codificat en base64.
- Prometheus
S’ han de desplegar els següents components: ruta, role, servei, statefulset, configmap i secret. Les següents plantilles es poden utilitzar com a referència substituint els paràmetres segons s’indica a continuació:
- Prometheus Configmap
- Prometheus PVC
- Prometheus Role
- Prometheus Route
- Prometheus Service
- Prometheus Secret 1
- Prometheus Secret 2
- Prometheus Stateful Set
En cas d’haver consensuat amb Arquitectura del Departament de Salut l’ús de l’autorització delegada per l’Identity Provider de Salut, s’han d’utilitzar les plantilles següents per a l’Stateful Set:
En aquest cas, al fitxer statefulset-prometheus-basic-salut.yaml s’ha de substituir l’expressió “${IDENTITY_PROVIDER_URL}” per l’OIDC Issuer URL de l’Identity Provider a utilitzar.
En tots els fitxers han de ser parametritzats substituint en l’expressió “${NAMESPACE}” pel nom del namespace de l’aplicació.
En el fitxer prometheus-route.yaml s’ha de substituir l’expressió “${ROUTE_URL}” pel domini sol·licitat per al servei.
En el mateix fitxer, l’expressió “${ROUTER_LABEL}” es substituirà per “internet” o “intranet” segons si el domini és d’internet o intranet respectivament.
En el fitxer prometheus-pvc-cpd4.yaml es substituirà l’etiqueta “${PVC_SIZE}” per la mida de pvc assignat en l’aprovisionament.
En el fitxer secret-prometheus.yaml s’ha de substituir l’expressió “${SESSION_SECRET}” per qualsevol combinació de 43 caràcters de longitud compresos en el següent interval [a-zA-Z0-9] i codificat en base64.
En el fitxer statefulset-prometheus-basic-salut.yaml s’han de parametrar els valors tant de cpu com de memòria que volem que rebin tant el contenidor prom-proxy com el contenidor prometheus. Per a això cal substituir les expressions ${CPU_PROXY} i ${MEM_PROXY} per al contenidor prom-proxy i ${CPU_PROMETHEUS} i ${MEM_PROMETHEUS} per al contenidor prometheus amb els valors de CPU i memòria desitjats.