Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

Perustaso

HTTP-uudelleenohjauksen määrittäminen Rahtissa on hyvin yksinkertaista käyttämällä nginxin kaltaista verkkopalvelinta. Voimme ohjata liikenteen käytännössä mihin tahansa URL-osoitteeseen hyvinkin monimutkaisella logiikalla. Tässä ohjeessa pidämme asiat yksinkertaisina ja ohjaamme vain toiseen hostiin säilyttäen URL-osoitteen polun.

HTTP-uudelleenohjauksen määrittäminen Rahtissa

Menettely

  1. Ota käyttöön NGINX-image. Aloita napsauttamalla oikeassa yläkulmassa olevaa '+ Add' -painiketta ja valitse Container images -vaihtoehto.

    Quick create

  2. Tässä harjoituksessa on suositeltavaa käyttää imagea bitnami/nginx

    bitnami/nginx

  3. Lisää Route siirtymällä kohtaan Networking -> Routes ja napsauttamalla Create Route. Käytä URL-osoitetta, jonka haluat ohjata uudelleen. Kun avaat URL-osoitteen, sinun pitäisi nähdä "nginx welcome page"

    route

  4. Lisää ConfigMap, jossa on palvelimen uudelleenohjauslohko. Siirry kohtaan Workloads > ConfigMaps ja napsauta Create ConfigMap. Name käytetään myöhemmin ConfigMapin liittämisessä. Key on tiedoston nimi (esim. nginx.conf) ja Value tiedoston sisältö.

    #nginx.conf
    server {
            listen 8080;
            server_name test.com;
            return 301 $scheme://test2.com$request_uri;
    }
    

    Tässä esimerkissä test.com on alkuperäinen URL-osoite ja test2.com se osoite, johon käyttäjä ohjataan.

  5. Liitä ConfigMap taltiona nginx-deploymentiin. Siirry deploymentiin ja tee seuraavat lisäykset YAML-tiedostoon.

    spec:
    # [possibly other values]
      template:
    #   [even more other values]
        spec:
          volumes:
            - name: nginx-conf
              configMap:
                name: nginx-conf
                defaultMode: 420
          containers:
            - name: nginx
    #         [again, more values]
              volumeMounts:
                - name: nginx-conf
                  mountPath: /opt/bitnami/nginx/conf/server_blocks
    

    Tässä esimerkissä nginx-conf on configMapin name, nginx-config on key, ja ConfigMap on liitettävä polkuun /opt/bitnami/nginx/conf/server_blocks/; muissa imageissa nginxin asetukset voivat sijaita eri kansioissa.

Tarkkuutta vaaditaan

Yllä oleva YAML sisältää lisäykset, joita tarvitaan tämän esimerkin toimintaan. Esimerkki ei kuitenkaan sisällä mahdollisia muita rivejä, joita sinulla voi olla, ja uusien rivien lisääminen vaatii hieman huolellisuutta.

Jos haluat kokeilla jotain edistyneempää tai YAMLin muokkaaminen käsin tuntuu työläältä, ConfigMapin ja VolumeMountin voi luoda myös oc-komennolla.

echo '#nginx.conf
server {
        listen 8080;
        server_name test.com;
        return 301 $scheme://test2.com$request_uri;
}' | oc create configmap nginx-conf --from-file=nginx.conf=/dev/stdin
Sinun täytyy korvata <deployment-name> ympäristösi kelvollisella arvolla.

oc set volume deployment/<deployment-name> --add \
  --name=nginx-conf \
  --type=configmap \
  --configmap-name=nginx-conf \
  --mount-path=/opt/bitnami/nginx/conf/server_blocks \
  --containers=nginx

Tässä ohjeessa ei käsitellä oc-komentoa yksityiskohtaisesti, mutta voit aloittaa toisella ohjeella: Komentorivityökalun käyttö.

Useampien host-domainien lisääminen

Jos sinun täytyy ohjata uudelleen useampi kuin yksi host-domain, voit käyttää samaa nginxia. Sinun tarvitsee vain (1) lisätä uusi Route uudella hostilla ja (2) lisätä uusi server-lohko olemassa olevaan ConfigMapiin. Jotta nginx ottaa uuden asetuksen käyttöön, voit poistaa Podin tai siirtyä podin terminaaliin ja suorittaa komennon nginx -s reload.

Yhteenveto ja lisää tietoa

Nginx on tehokas verkkopalvelin. Voit käyttää sitä myös HTTP-välityspalvelimena ja kuormantasaajana. Lisätietoja löytyy dokumentaatiosta osoitteessa https://nginx.org/en/docs/.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta