Wolkra

Dokumentaatio

Kuormantasaajat

Näin otat käyttöön Wolkran kuormantasaajan: kerroksen 4 ja HTTP-palvelut, terveystarkistukset, kohteet palvelimen, tunnistevalitsimen tai IP:n mukaan, yksityisverkon kohteet ja TLS.

Päivitetty 2 min lukuaika

Wolkran kuormantasaaja jakaa saapuvan liikenteen usealle palvelimelle ja ohjaa sitä vain kohteille, jotka läpäisevät terveystarkistuksensa. Se tukee kerroksen 4 (TCP) ja HTTP-palveluita, ja kohteet voivat olla palvelimia, tunnistevalitsimia tai IP-osoitteita, myös palvelimia, jotka ovat vain yksityisverkossa.

Milloin tarvitset sellaisen

  • Kaksi tai useampia sovelluspalvelimia kapasiteetin tai vikasietoisuuden vuoksi.
  • Käyttökatkottomat julkaisut: ota yksi palvelin pois, päivitä se ja palauta se.
  • Yksi vakaa julkinen sisäänkäynti yksityisten palvelinten edessä.

Luo kuormantasaaja

  1. Avaa konsolissa Kuormantasaajat ja valitse Luo kuormantasaaja.
  2. Nimeä se, esimerkiksi web-lb.
  3. Liitä se halutessasi yksityisverkkoon, jotta se tavoittaa pelkästään yksityisverkossa olevat palvelimet.
  4. Lisää palvelut (kuuntelevat portit).
  5. Lisää kohteet.
  6. Määritä terveystarkistukset.
  7. Luo se. Konsoli näyttää hinnan ennen vahvistusta.

Palvelut

Palvelu yhdistää kuormantasaajan portin kohteiden porttiin.

Tyyppi Käyttö Esimerkki
TCP (kerros 4) mikä tahansa TCP-protokolla, TLS:n läpivienti 443 → 443
HTTP tavalliset HTTP-sovellukset 80 → 8080

Lisää yksi palvelu kutakin kuuntelevaa porttia kohden.

Kohteet

  • Palvelimet: valitse yksittäisiä palvelimia.
  • Tunnistevalitsimet: esimerkiksi role=web. Uudet palvelimet, joilla on tunniste, liittyvät automaattisesti, ja tunnisteensa menettävät palvelimet poistuvat. Tämä toimii hyvin palvelimilla, jotka luot tilannevedoksesta tai API:n kautta.
  • IP-osoitteet: osoitteella tunnistetuille taustapalvelimille.

Kun kuormantasaaja on liitetty yksityisverkkoon, se tavoittaa kohteet niiden yksityisten osoitteiden kautta, joten kohteet eivät tarvitse julkista IP-osoitetta lainkaan.

Terveystarkistukset

Terveystarkistus ratkaisee, saako kohde liikennettä. Määritä:

  • Protokolla: TCP (portti hyväksyy yhteyksiä) tai HTTP (polku palauttaa onnistumisen tilakoodin).
  • Portti ja HTTP:ssä polku, kuten /healthz.
  • Väli, aikakatkaisu ja uusintayritykset.

Minimaalinen terveyspäätepiste Caddyn takana:

text
:8080 {
    respond /healthz "ok" 200
    reverse_proxy localhost:3000
}

Anna terveystarkistuksen kuvastaa todellista valmiutta. Jos sovellus tarvitsee tietokantaa, anna /healthz:n epäonnistua, kun tietokanta ei ole käytettävissä, jolloin liikenne siirtyy terveelle palvelimelle.

HTTPS

HTTPS:ää varten lisää TCP-palvelu porttiin 443 ja päätä TLS palvelimilla itsellään, esimerkiksi Caddyllä. Jokainen palvelin tarvitsee silloin varmenteen; Caddy voi hakea sen automaattisesti, tai voit jakaa sen palvelinten kesken. Lisää TCP- tai HTTP-palvelu porttiin 80, jotta varmenteiden haasteet ja uudelleenohjaukset tavoittavat palvelimet. Caddy-opas käy läpi palvelinpuolen, myös välitettyihin otsakkeisiin luottamisen.

Palomuurit

Salli kohteiden sovellusportti vain sieltä, mistä kuormantasaaja yhdistää: yksityisverkon osoitealueelta, jos se on liitetty sellaiseen. Pidä SSH rajattuna tavalliseen tapaan. Katso palomuurit.

Julkaise ilman käyttökatkoa

  1. Poista palvelimen tunniste (tai palvelin) kohteista tai anna sen tarkoituksella epäonnistua terveystarkistuksessa.
  2. Odota, että olemassa olevat yhteydet päättyvät.
  3. Päivitä sovellus ja käynnistä se uudelleen.
  4. Palauta tunniste ja odota, että terveystarkistus menee läpi.
  5. Toista seuraavalle palvelimelle.

Tarkista, että se toimii

bash
for i in $(seq 1 6); do curl -s http://203.0.113.20/whoami; echo; done   # example address

Jos jokainen palvelin vastaa /whoami-pyyntöön omalla isäntänimellään, näet vastausten vuorottelevan.

Laskutus

Kuormantasaajat laskutetaan palvelinten tapaan jokaiselta alkaneelta tunnilta ja enintään kuukausihinnan verran. Niiden kautta kulkevaa liikennettä ei mitata. Katso hinnoittelu.

API

Kuormantasaajat ovat saatavilla osoitteessa https://api.wolkra.com/v1/load_balancers. Katso API-tunnisteet.

Lisää tuotesivulla: kuormantasaajat.

Usein kysytyt kysymykset

Millaista liikennettä kuormantasaaja pystyy käsittelemään?

Kerroksen 4 (TCP) palveluita mille tahansa protokollalle sekä HTTP-palveluita. Molemmat käyttävät terveystarkistuksia, jotta liikenne ohjataan vain terveille kohteille.

Voivatko kohteet olla palvelimia ilman julkista IP-osoitetta?

Kyllä. Liitä kuormantasaaja samaan yksityisverkkoon, niin se tavoittaa pelkästään yksityisverkossa olevat palvelimet sen kautta.

Miten lisään uusia palvelimia automaattisesti?

Käytä kohteena tunnistevalitsinta, kuten role=web. Jokaisesta palvelimesta, jolla on kyseinen tunniste, tulee kohde heti sen synnyttyä.

Missä HTTPS päätetään?

Yksinkertainen tapa on TCP-palvelu portissa 443, joka välittää TLS:n sellaisenaan palvelimillesi, joilla Caddy tai muu välityspalvelin hallitsee varmenteita.