Masina seadistamine
See leht juhendab sind esimese masina seadistamisel: konfiguratsioonifaili loomisest serveri registreerimise, selle ettevalmistamise ja soovi korral avaliku ligipääsu infrastruktuuri konfigureerimiseni.
1. samm: loo konfiguratsioon
Konfiguratsioon on nimega konfiguratsioonifail, mis salvestab sinu SSH-mandaadid, masinate definitsioonid ja repositooriumi seosed. Mõtle sellest kui projekti tööruumist.
rdc config init --name my-infra --ssh-key ~/.ssh/id_ed25519
| Valik | Nõutud | Kirjeldus |
|---|---|---|
--ssh-key <path> | Jah | Tee sinu SSH privaatvõtmeni. Tilde (~) laiendatakse automaatselt. |
--renet-path <path> | Ei | Kohandatud tee renet-binaarfailini kaugmasinates. Vaikimisi kasutatakse standardset paigaldusasukohta. |
See loob konfiguratsioonifaili nimega my-infra ja salvestab selle asukohta ~/.config/rediacc/my-infra.json. Vaikekonfiguratsioon (kui nime ei anta) salvestatakse failina ~/.config/rediacc/rediacc.json.
Sul võib olla mitu konfiguratsioonifaili (nt
production,staging,dev). Nende vahel saab lülituda iga käsu puhul lipuga--config.
2. samm: lisa masin
Registreeri kaugserver masinana konfiguratsioonis:
rdc config machine add --name server-1 --ip 203.0.113.50 --user deploy
| Valik | Nõutud | Vaikeväärtus | Kirjeldus |
|---|---|---|---|
--ip <address> | Jah | - | Kaugserveri IP-aadress või hostinimi |
--user <username> | Jah | - | SSH-kasutajanimi kaugserveris |
--port <port> | Ei | 22 | SSH-port |
--datastore <path> | Ei | /mnt/rediacc | Tee serveris, kuhu Rediacc salvestab krüptitud repositooriume |
Pärast masina lisamist käivitab rdc automaatselt ssh-keyscan, et hankida serveri hostimisvõtmed. Seda saad käivitada ka käsitsi:
rdc config machine scan-keys -m server-1
Kõigi registreeritud masinate vaatamiseks:
rdc config machine list
3. samm: seadista masin
Valmista kaugserver ette kõigi vajalike sõltuvustega:
rdc config machine setup --name server-1
See käsk:
- Laadib renet-binaarfaili serverisse üles SFTP kaudu
- Paigaldab Docker, containerd ja cryptsetup (kui neid pole)
- Loob
rediaccsüsteemikasutaja (UID 7111) - Loob andmehoidla kataloogi ja valmistab selle ette krüptitud repositooriumide jaoks
| Valik | Nõutud | Vaikeväärtus | Kirjeldus |
|---|---|---|---|
--datastore <path> | Ei | /mnt/rediacc | Andmehoidla kataloog serveris |
--datastore-size <size> | Ei | 95% | Kui suur osa saadaolevast kettaruumist eraldatakse andmehoidlale |
--debug | Ei | false | Luba tõrkeotsinguks üksikasjalik väljund |
Seadistust on vaja käivitada iga masina kohta ainult üks kord. Vajadusel on seda ohutu uuesti käivitada.
Hostimisvõtmete haldamine
Kui serveri SSH hostimisvõti muutub (nt pärast uuesti paigaldamist), uuenda salvestatud võtmeid:
rdc config machine scan-keys -m server-1
See uuendab sinu konfiguratsioonis selle masina knownHosts välja.
SSH ühenduvuse testimine
Pärast masina lisamist veendu, et sellega on võimalik ühenduda:
rdc term connect -m server-1 -c "hostname"
See avab masinaga SSH-ühenduse ja käivitab käsu. Kui see õnnestub, on sinu SSH-konfiguratsioon korrektne.
Üksikasjalikuma diagnostika saamiseks käivita:
rdc doctor
Ainult pilveadapter: käsk
rdc machine test-connectionpakub üksikasjalikku SSH-diagnostikat, kuid nõuab pilveadapterit. Kohaliku adapteri puhul kasuta otserdc termvõissh.
Infrastruktuuri konfiguratsioon
Masinate jaoks, mis peavad liiklust avalikult teenindama, konfigureeri infrastruktuuriseaded:
Infrastruktuuri seadistamine
rdc config infra set -m server-1 \
--public-ipv4 203.0.113.50 \
--base-domain example.com \
--cert-email admin@example.com \
--cf-dns-token your-cloudflare-api-token
| Valik | Ulatus | Kirjeldus |
|---|---|---|
--public-ipv4 <ip> | Masin | Avalik IPv4-aadress; puhverserveri sisenemispunktid luuakse ainult konfigureeritud aadressiperekondade jaoks |
--public-ipv6 <ip> | Masin | Avalik IPv6-aadress; puhverserveri sisenemispunktid luuakse ainult konfigureeritud aadressiperekondade jaoks |
--base-domain <domain> | Masin | Rakenduste alusdomeen (nt example.com) |
--cert-email <email> | Konfiguratsioon | E-post Let’s Encrypt TLS-sertifikaatide jaoks (jagatud masinate vahel) |
--cf-dns-token <token> | Konfiguratsioon | Cloudflare DNS-i API token ACME DNS-01 väljakutsete jaoks (jagatud masinate vahel) |
--tcp-ports <ports> | Masin | Komaga eraldatud lisatavad TCP-pordid edasisaatmiseks (nt 25,143,465,587,993) |
--udp-ports <ports> | Masin | Komaga eraldatud lisatavad UDP-pordid edasisaatmiseks (nt 53) |
Masina ulatusega valikud salvestatakse iga masina kohta eraldi. Konfiguratsiooni ulatusega valikud (--cert-email, --cf-dns-token) on jagatud kõigi konfiguratsiooni masinate vahel; seadista need üks kord ja need kehtivad kõikjal.
Infrastruktuuri vaatamine
rdc config infra show -m server-1
Serverisse lükkamine
Genereeri ja rakenda Traefiki pöördpuhverserveri konfiguratsioon serverisse:
rdc config infra push -m server-1
See käsk:
- Rakendab renet-binaarfaili kaugmasinasse
- Konfigureerib Traefiki pöördpuhverserveri, ruuteri ja systemd-teenused
- Loob Cloudflare’i DNS-kirjed masina alamdomeeni jaoks (
server-1.example.comja*.server-1.example.com), kui--cf-dns-tokenon seadistatud
DNS-samm on automaatne ja idempotentne: see loob puuduvad kirjed, uuendab muutunud IP-dega kirjeid ja jätab juba korrektse olekuga kirjed vahele. Kui Cloudflare’i tokenit pole seadistatud, jäetakse DNS vahele koos hoiatusega. Repositooriumipõhised metamärgi DNS-kirjed (automaatmarsruutide jaoks) luuakse automaatselt, kui käivitad rdc repo up.
Pilveettevalmistamine
Selle asemel et luua VM-e käsitsi, saad konfigureerida pilvepakkuja ja lasta rdc-l masinaid automaatselt ette valmistada OpenTofu abil.
Eeltingimused
Paigalda OpenTofu: opentofu.org/docs/intro/install
Veendu, et sinu SSH-konfiguratsioonis on rdc-ga registreeritud võti:
# Loeb võtmefaili ja lisab sisu /credentials/ssh alla.
rdc config ssh set --key ~/.ssh/id_ed25519
Pilvepakkuja lisamine
rdc config provider add --name my-linode \
--provider linode/linode \
--token $LINODE_API_TOKEN \
--region us-east \
--type g6-standard-2
| Valik | Nõutud | Kirjeldus |
|---|---|---|
--provider <source> | Jah* | Tuntud pakkuja allikas (nt linode/linode, hetznercloud/hcloud) |
--source <source> | Jah* | Kohandatud OpenTofu pakkuja allikas (tundmatute pakkujate jaoks) |
--token <token> | Jah | Pilvepakkuja API token |
--region <region> | Ei | Uute masinate vaikeregioon |
--type <type> | Ei | Vaikimisi eksemplari tüüp/suurus |
--image <image> | Ei | Vaikimisi operatsioonisüsteemi kujutis |
--ssh-user <user> | Ei | SSH-kasutajanimi (vaikimisi: root) |
* Nõutud on kas --provider või --source. Kasuta --provider tuntud pakkujate jaoks (sisseehitatud vaikeväärtused). Kasuta --source koos lisalippudega --resource, --ipv4-output, --ssh-key-attr kohandatud pakkujate jaoks.
Masina ettevalmistamine
rdc machine provision --name prod-2 --provider my-linode
See üks käsk:
- Loob VM-i pilvepakkujas OpenTofu kaudu
- Ootab SSH-ühenduvust
- Registreerib masina sinu konfiguratsioonis
- Paigaldab reneti ja kõik sõltuvused
- Konfigureerib Traefiki puhverserveri ja Cloudflare’i DNS-i (tuvastab automaatselt alusdomeeni kõrvalmasinatest või kasuta
--base-domainotse)
| Valik | Kirjeldus |
|---|---|
--provider <name> | Pilvepakkuja nimi (allikast add-provider) |
--region <region> | Asenda pakkuja vaikeregioon |
--type <type> | Asenda vaikimisi eksemplari tüüp |
--image <image> | Asenda vaikimisi operatsioonisüsteemi kujutis |
--base-domain <domain> | Infrastruktuuri alusdomeen. Tuvastab automaatselt kõrvalmasinatest, kui pole määratud |
--no-infra | Jäta infrastruktuuri konfiguratsioon (puhverserver ja DNS) täielikult vahele |
--debug | Näita üksikasjalikku ettevalmistuse väljundit |
Masina ettevalmistuse tühistamine
rdc machine deprovision --name prod-2
Hävitab VM-i OpenTofu kaudu ja eemaldab selle sinu konfiguratsioonist. Nõuab kinnitust, välja arvatud juhul kui kasutatakse --force. Töötab ainult masinatega, mis on loodud käsuga machine provision.
Pakkujate loetlemine
rdc config provider list
Vaikeväärtuste seadistamine
Seadista vaikeväärtused, et neid poleks vaja igal käsul täpsustada:
rdc config field set --pointer /defaults/machine --new '"server-1"' # Vaikemasin
rdc config set --key team --value my-team # Vaikemeeskond (pilveadapter, eksperimentaalne)
Pärast vaikemaskina seadistamist saad käskudest -m server-1 ära jätta:
rdc repo create --name my-app -m my-server --size 10G
Mitu konfiguratsiooni
Halda mitut keskkonda nimega konfiguratsioonifailidega:
# Loo eraldi konfiguratsioonid
rdc config init --name production --ssh-key ~/.ssh/id_prod
rdc config init --name staging --ssh-key ~/.ssh/id_staging
# Kasuta konkreetset konfiguratsiooni
rdc repo list -m server-1 --config production
rdc repo list -m staging-1 --config staging
Kõigi konfiguratsioonide vaatamine:
rdc config list
Praeguse konfiguratsiooni üksikasjade kuvamine:
rdc config show