해리슨 블로그

[GCP] Cloud Run - Multi-regio service lancering

Aangemaakt: 2024-10-14

Aangemaakt: 2024-10-14 22:01

GCP heeft vorige week een functie uitgebracht waarmee Cloud Run met één uitvoering in meerdere regio's kan worden gebruikt.

De service in meerdere regio's kan eenvoudig worden samengevat. Stel, we hebben regio's in Seoul, Londen en Las Vegas.

In dat geval moest je voorheen meerdere regio's afzonderlijk implementeren met behulp van een script. De nieuwe functie maakt het mogelijk om meerdere regio's tegelijk te implementeren met één script.

Eerlijk gezegd, voordat het werd uitgebracht, las ik de documentatie over de release van de service en had ik er hoge verwachtingen van, maar ik was enigszins teleurgesteld.

Het implementeren met behulp van een script om meerdere regio's tegelijk te doen, is niet nieuw. Aangezien het toch parallel werkt, is er geen groot verschil in tijd, dus ik had geen grote verwachtingen op dat gebied. Het probleem is dat je met deze methode niet per regio verschillende omgevingsvariabelen kunt instellen.

Dus, ik gebruikte vaak de functie waarmee individuele Cloud Run-services per regio verschillende waarden kunnen gebruiken om verbinding te maken met verschillende databases of GCS. Maar nu loopt dat tegen problemen aan.

Het tweede probleem is dat als je de implementatie blijft herhalen, je soms de oude versies wilt verwijderen. Maar dat kan ook niet individueel worden beheerd. Het wordt alleen-lezen geblokkeerd, waardoor individuele verwijdering van oude versies niet mogelijk is.

Er zijn verschillende nadelen, maar het voordeel is dat je meerdere Cloud Run-services kunt "samenvoegen".

In onze service gebruiken we veel Cloud Run en veel regio's. Momenteel zijn het er ongeveer 50, en als de huidige taken klaar zijn, zullen het er wel 100 worden. Door de multi-regio service te gebruiken, kunnen we dit terugbrengen tot 10-20. (Het is gewoon verbergen.)

Hieronder staat het script.


Als je bovenstaand script uitvoert, wordt het als volgt geïmplementeerd.

[GCP] Cloud Run - Multi-regio service lancering

Cloud Run

Cloud Run met dezelfde naam wordt geïmplementeerd in elke regio, en bovenaan wordt een map(?) met dezelfde naam aangemaakt.

Het samengevoegde scherm ziet er als volgt uit.

[GCP] Cloud Run - Multi-regio service lancering

Cloud Run -  ingeklapt scherm

Eigenlijk helpt het niet veel als het aantal klein is, maar als we aannemen dat het naar 40 regio's wordt geïmplementeerd, helpt het enorm. (Hoewel het misschien niet zover hoeft te gaan...)

[GCP] Cloud Run - Multi-regio service lancering

Wordt aangegeven als alleen-lezen.

Bij de meeste functies, wanneer je probeert iets te wijzigen, staat het meestal aangegeven als alleen-lezen. In de documentatie wordt wel een functie aangeboden, maar of het een API-probleem is, het werkt niet goed.

De relevante documentatie staat hier.

De gcloud-documentatie staat hier. Momenteel worden alleen alpha/beta-versies ondersteund, geen officiële versies. Bovendien staat de --regions-optie uit de bovenstaande documentatie niet eens in de documentatie. (Zal wel snel worden bijgewerkt?)

Wat ik eigenlijk wil, is dat de PORT, net zoals nu, als standaard omgevingsvariabele wordt aangeboden. Ik weet dat er via de metadata-server al veel informatie wordt aangeboden, maar het is lastig om het met Fetch op te halen. (En het kost ook allemaal resources...)

Het is nog een preview, dus het zal wel beter worden. (Het is wel vroeg om te klagen...)

Reacties0