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.

Edistynyt taso

Tarvitset hyvää Kubernetes-/OpenShift-ympäristön sekä käytettävän työkalun tuntemusta. Tässä tapauksessa oc

Verkkojen tuntemus on hyödyksi tässä ohjeessa

Käänteisen välityspalvelimen todennus sidecar-säiliön avulla

Säiliötä kutsutaan sidecariksi, kun se sijaitsee samassa Podissa kuin toinen "pääsäiliö" ja tarjoaa toiminnallisuutta tälle toiselle säiliölle. Kun säiliöt ovat samassa Podissa, ne jakavat saman verkon, sijaitsevat aina samalla noodilla ja ne luodaan ja tuhotaan samaan aikaan.

Yksi tämän suunnittelumallin käyttötarkoituksista on käyttää käänteistä välityspalvelinta, joka hoitaa todennuksen. Ajatuksena on, että meillä on Flask-sovellus käynnissä säiliössä Podissa. Samassa Podissa luomme nginx-säiliön. Tämä nginx-palvelin yhdistää Flask-sovellukseen Podin sisäisen verkon kautta ja toteuttaa todennuksen. Tässä tapauksessa käytetään oletuskäyttäjänimeä ja -salasanaa.

Sidecar

Käyttöönotto

Luo ensin projekti:

oc new-project <OPEN_SHIFT_PROJECT_NAME> --description="csc_project: <CSC_PROJECT_NUMBER>" \
    --display-name="Sidecar test tutorial"

Kloonaa sitten tämän ohjeen repositorio:

git clone https://github.com/CSCfi/nginx-sidecar.git

Repositoriossa on kansio nimeltä templates, ja luomme objektit yksi kerrallaan:

oc create -f templates/Deployment.yaml
  • Sitten Service, joka yhdistää nginxin porttiin 8081:
oc create -f templates/Service.yaml
  • Luo lopuksi reitti:
oc create route edge sidecar --service=python-and-sidecar --insecure-policy='Redirect'
oc get route sidecar

Ensimmäinen komento luo reitin, ja toinen antaa sinulle OpenShiftin sille valitseman DNS-nimen.

Testaus

Jos kaikki meni odotetusti, kun avaat edellisessä vaiheessa saadun DNS-nimen, selain pyytää käyttäjänimeä ja salasanaa (admin/admin1041), minkä jälkeen näytetään viesti "Hello World".

Yhteenveto

Tämä on vain yksinkertainen esimerkki tästä suunnittelumallista. Kaksi tai useampi säiliö toimii yhdessä samassa paikallisverkossa siten, että tavallisesti yksi säiliöistä on "pääsäiliö" ja muut tarjoavat sille lisätoiminnallisuutta. Tätä konseptia voidaan laajentaa käyttämällä muitakin todennusmenetelmiä, kuten LDAPia tai OpenID:tä. Tämä malli on hyödyllinen myös tiedostojen tarjoilussa, jossa tiedostot sijaitsevat "hitaassa mutta turvallisessa" tiedostojärjestelmässä ja sidecar-säiliö hakee nämä tiedostot emptyDiriin, joka on Rahtin tarjoama väliaikainen nopea tiedostojärjestelmä.

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta