| ... | ... | @@ -10,7 +10,7 @@ Google Cloudissa on projektilla digia-JAMK-MrReferee-23784 käytössä Source Re |
|
|
|
|
|
|
|
## yaml -tiedostot
|
|
|
|
|
|
|
|
Kustakin repositoriosta löytyy niille oleelliset yaml tiedostot. Tässä käydään nopeasti läpi kustakin reposta löytyvät yaml tiedostot ja mitä ne tekevät.
|
|
|
|
Kustakin repositoriosta löytyy niille oleelliset yaml tiedostot. Tässä käydään nopeasti läpi kustakin reposta löytyvät yaml tiedostot ja mitä ne tekevät. Tiedostot voidaan ajaa komentoriviltä komennolla __kubectl apply -f <resurssin-nimi>.yaml__.
|
|
|
|
|
|
|
|
### mr-referee-frontend
|
|
|
|
|
| ... | ... | @@ -26,8 +26,56 @@ Eli kloonataan uusimmat koodit, buildataan niistä Docker image ja asetetaan se |
|
|
|
|
|
|
|
__deployment.yaml__
|
|
|
|
|
|
|
|
Kubernetes deployment. Tiedosto voidaan ajaa komentoriviltä komennolla __kubectl apply -f deployment.yaml__, joka käynnistää deploymentin nimeltä node-react. Deploymentissa määritellään mm. mikä image pullataan Container Registystä, sekä mitä ympäristömuuttujia kontille asetetaan.
|
|
|
|
Kubernetes deployment. Käynnistää deploymentin nimeltä node-react. Deploymentissa määritellään mm. mikä image pullataan Container Registystä, mitä ympäristömuuttujia kontille asetetaan sekä mihin porttiin liikenne lähetetään. Portti on 8080, joka on myös kontissa avattu portti.
|
|
|
|
|
|
|
|
__service.yaml__
|
|
|
|
|
|
|
|
Kubernetes service. Tiedosto voidaan ajaa komentoriviltä komennolla __kubectl apply -f service.yaml__, joka käynnistää servicen nimeltä frontend-service. Servicessä on määritelty selector app: react, joka kertoo, että tämä service on käytössä vain Kubernetes resurssilla, jolta löytyy label app: react, joka tässä tapauksessa löytyy yllä mainitulta deployment.yaml resurssilta. Tässä tiedostossa on myös määritelty, että se on tyyppiä LoadBalancer, eli se käyttää Google Cloudin Load Balanceria servicen paljastamiseksi julkiseen internetiin. |
|
|
\ No newline at end of file |
|
|
|
Kubernetes service. Käynnistää servicen nimeltä frontend-service. Servicessä on määritelty selector app: react, joka kertoo, että tämä service on käytössä vain Kubernetes resurssilla, jolta löytyy label app: react, joka tässä tapauksessa löytyy yllä mainitulta deployment.yaml resurssilta. Tässä tiedostossa on myös määritelty, että se on tyyppiä LoadBalancer, eli se käyttää Google Cloudin Load Balanceria servicen paljastamiseksi julkiseen internetiin. Avattu portti on 80.
|
|
|
|
|
|
|
|
### mr-referee (backend)
|
|
|
|
|
|
|
|
__cloudbuild.yaml__
|
|
|
|
|
|
|
|
Täysin samat askeleet, kuin mr-referee-frontend repossa olevassa cloudbuild.yaml tiedostossa. Askeleet vain koskevat nyt mr-referee repositoriota ja rakennettu image nimetään node-express.
|
|
|
|
|
|
|
|
__deployment.yaml__
|
|
|
|
|
|
|
|
Täysin samat asiat, kuin mr-referee-frontend repossa olevassa deployment.yaml tiedostossa. Nyt vain deploymentin nimi, kontin nimi, ympäristömuuttujat ja portti ovat erit. Tässä tiedostossa määritetään ympäristömuuttujat otettavaksi kolmesta eri resurssista. jwt-secret, db-secret sekä db-config -resursseista. Nämä resurssit käydään läpi alempana tässä dokumentissa.
|
|
|
|
|
|
|
|
__jwt-secret.yaml__
|
|
|
|
|
|
|
|
Tässä määritellään autentikaatiossa käytettävän JWT:n salainen avain. Avain on base64 enkoodattu. Avain otetaan käyttöön ylempänä mainitussa deploymentissa ympäristömuuttujana, jolloin sitä voidaan käyttää backend koodissa sovelluksen käyttäjille lähetettävien tokenien allekirjoittamiseen.
|
|
|
|
|
|
|
|
__kube-config/configmap.yaml__
|
|
|
|
|
|
|
|
Tässä määritellään tietokannan portti, host (postgres-service -resurssi) sekä node-postgres poolin min ja max, eli yhtäaikaisten käyttäjäyhteyksien määrä.
|
|
|
|
|
|
|
|
__kube-services/service.yaml__
|
|
|
|
|
|
|
|
Käynnistää servicen nimeltä backend-service porttiin 5000 deploymentille, jolla on label app: express, eli tämän repon deploymentille. Frontend lähettää tietokantapyyntönsä tähän serviceen.
|
|
|
|
|
|
|
|
__kube_services/load-balancer.yaml__
|
|
|
|
|
|
|
|
__VAIN DEV-KÄYTÖSSÄ__. Paljastaa backend deploymentin julkiseen internetiin.
|
|
|
|
|
|
|
|
### mr-referee-db
|
|
|
|
|
|
|
|
__deployment.yaml__
|
|
|
|
|
|
|
|
Kuten ylemmät, mutta tässä tiedostossa on määritelty myös postgres kontin käyttämät ympäristömuuttujat sekä kovalevyn mounttauspolku, nimi ja persistentVolumeClaim.
|
|
|
|
|
|
|
|
__service.yaml__
|
|
|
|
|
|
|
|
Käynnistää servicen nimeltä postgres-service porttiin 5432 deploymentille, jolla on label app: postgres, eli tämän repon deploymentille. Backend lähettää tietokantapyyntönsä tähän serviceen.
|
|
|
|
|
|
|
|
__secrets.yaml__
|
|
|
|
|
|
|
|
Tässä tiedostossa määritellään postgres käyttäjänimi, salasana ja tietokannan nimi. Tämän repon deployment.yaml sekä mr-referee repon deployment.yaml tiedostoissa käytetään tätä secrettiä ympäristömuuttujien asettamiseksi.
|
|
|
|
|
|
|
|
__configmap.yaml__
|
|
|
|
|
|
|
|
__VAIN DEV-KÄYTÖSSÄ__. Postgresin käyttäjänimi, salasana ja tietokannan nimi.
|
|
|
|
|
|
|
|
__pvc.yaml__
|
|
|
|
|
|
|
|
Tässä tiedostossa on kaksi eri resurssia. PersistentVolume ja PersistentVolumeClaim. PersistentVolume resurssissa määritellään manuaalisesti tehdyn gce Persistent Diskin nimi, kapasiteetti ja muut ominaisuudet. PersistentVolumeClaimissa määritellään claimin nimi, Persistent Volume -resurssin nimi ja kapasiteetti. Tämän repon deployment.yaml tiedostossa käytetään PersistentVolumeClaimin nimeä kovalevyn käyttöönottamiseksi. |
|
|
\ No newline at end of file |