Talos OS¶
Այս հոդվածում
Տեղեկատվություն
Talos OS-ը ժամանակակից օպերացիոն համակարգ է, որը հատուկ մշակված է Kubernetes-ը գործարկելու համար: Այն օգտագործում է անփոփոխ ֆայլային համակարգ և կոնտեյներային ճարտարապետություն՝ ապահովելով բարձր անվտանգություն, նվազագույն հարձակումների մակերես և Kubernetes կլաստերների օպտիմալացված արդյունավետություն:
Talos OS. Հիմնական հնարավորություններ¶
- Նվազեցնում է հարձակումների հավանականությունը. shell-ի, փաթեթների կառավարիչի և այլ ստանդարտ Linux բաղադրիչների բացակայությունը նվազեցնում է անվտանգության սպառնալիքները:
- Անփոփոխ ենթակառուցվածք. հիմնված է անփոփոխության հայեցակարգի վրա, որտեղ թարմացումները կիրառվում են ատոմային կերպով՝ փոխարենը փոփոխելու գոյություն ունեցող համակարգը:
- Ներկառուցված Kubernetes. ինտեգրված Kubernetes-ը օպտիմալացված է առավելագույն արդյունավետության համար, այն չի տեղադրվում համակարգի վրա:
- API-կենտրոնացված կառավարում. լիարժեք կառավարում API-ի միջոցով՝ առանց SSH-ի կամ shell-ում հրամանների կատարման անհրաժեշտության:
- Բարձր ավտոմատացում. կլաստերի բաղադրիչների ավտոմատ կոնֆիգուրացիա և վերականգնում՝ առանց ձեռքի միջամտության:
- Պարզեցված թարմացումներ. հուսալի OS և Kubernetes թարմացում՝ սխալների դեպքում ավտոմատ rollback-ով:
- Ներկառուցված կոնտեյներների աջակցություն. օպտիմալացված է կոնտեյներային հավելվածները գործարկելու համար:
- Խիստ անվտանգություն. համապատասխանություն անվտանգության լավագույն պրակտիկաներին, ներառյալ ստիպողական շիֆրազում և ստորագրության ստուգում:
- Արդյունավետ ռեսուրսների օգտագործում. համակարգի ռեսուրսների նվազագույն սպառում՝ աշխատանքային բեռնվածությանը առավելագույն հատկացում ապահովելու համար:
- Բարձր դիմացկունություն. նախագծված է աշխատելու բաշխված և սխալների նկատմամբ դիմացկուն միջավայրերում:
Տեղակայման հնարավորություններ¶
| ID | OS Name | Alias | Active | BM | GPU | VPS | VDS | Family | OS Group | CloudInit | Avilible |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 268 | Talos 1.9.5 | - | Yes | + | + | + | - | Talos | Others | No | ORDER |
Կարևոր. ժամանակավոր բեռնում առանց տեղադրման
Talos OS-ով սերվեր պատվիրելիս համակարգը սկզբնապես բեռնվում է RAM-ի մեջ և չի տեղադրվում սկավառակի վրա: Եթե սերվերը վերագործարկվի կոնֆիգուրացիայի և տեղադրման գործընթացը ավարտելուց առաջ, համակարգը կկորչի և կպահանջվի նորից պատվիրել:
Talos OS-ով սերվեր պատվիրելիս դուք ստանում եք.
- Սերվեր՝ ժամանակավորապես բեռնված Talos OS-ով սպասարկման ռեժիմով;
- Սերվերի կոնսոլի հասանելիություն կառավարման վահանակի միջոցով;
- Համակարգը սկավառակի վրա կոնֆիգուրացնելու և տեղադրելու հնարավորություն՝ օգտագործելով Talos գործիքները:
Talos OS-ի տեղադրում տրամադրված սերվերի վրա¶
Talos OS-ով սերվեր ստանալուց հետո, ձեզ անհրաժեշտ է անցնել սերվերների և API-ի կառավարման վահանակ — Invapi անցեք սերվերի քարտի և բացեք Native Console: Կառավարման վահանակի կոնսոլի միջոցով դուք կտեսնեք համակարգը սպասարկման ռեժիմում (Maintenance) Ready: True նշումով: Սա ժամանակավոր վիճակ է, որը պահանջում է հետագա կոնֆիգուրացիա մշտական տեղադրման համար.

Քայլ 1. Talos CLI գործիքի բեռնում¶
Նախ, տեղադրեք talosctl օգնականը ձեր տեղական մեքենայում.
Linux/MacOS-ի համար.
Windows-ի համար.
- Ստեղծեք թղթապանակ talosctl-ի համար (եթե դեռ չկա)
- Ներբեռնեք talosctl-ի վերջին տարբերակը Windows-ի համար
- Ավելացրեք talosctl-ի ճանապարհը PATH միջավայրի փոփոխականին
Տեղեկատվություն
Դուք նաև կարող եք տեղադրել talosctl-ը՝ առանց հրամանի տողի օգտագործման.
- Ներբեռնեք talosctl-ի վերջին տարբերակը Windows-ի համար ուղղակիորեն GitHub-ից;
- Վերանվանեք ներբեռնված ֆայլը
talosctl.exeանունով; - Պատճենեք ֆայլը
C:\Windows\System32\թղթապանակի մեջ (պահանջվում են վարչի իրավունքներ):
Տեղադրումից հետո բացեք նոր տերմինալի պատուհան և ստուգեք ֆունկցիոնալությունը.
Քայլ 2. Կոնֆիգուրացիոն ֆայլերի պատրաստում¶
Գաղտնիքների գեներացում.
Հիմնական կոնֆիգուրացիայի գեներացում.
Փոխարինեք [SERVER-IP]-ն ձեր սերվերի իրական IP հասցեով:
Քայլ 3. Patch ֆայլի ստեղծում¶
Կոնֆիգուրացիայում disk և interface պարամետրերը պետք է համապատասխանեն ձեր սերվերի սարքավորումներին: Այս արժեքները որոշելու համար կատարեք հետևյալ հրամանները.
-
Որոշեք հասանելի սկավառակները
2. Որոշեք ցանցային ինտերֆեյսները
Հրամանի ելքում գտեք.
- Ձեր հիմնական սկավառակի անունը (սովորաբար
/dev/sda,/dev/vdaկամ/dev/nvme0n1); - Ձեր ցանցային ինտերֆեյսի անունը (սովորաբար
eth0,ens3,enp0s3և այլն):
Ստեղծեք patch.controlplane.yaml անունով ֆայլ հետևյալ բովանդակությամբ.
cluster:
apiServer:
certSANs:
- [SERVER-IP]
- 127.0.0.1
- localhost
- kubernetes
- kubernetes.default
- kubernetes.default.svc
- kubernetes.default.svc.cluster.local
machine:
install:
disk: /dev/sda
image: factory.talos.dev/installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v1.9.5
wipe: true
extraKernelArgs:
- talos.platform=metal
features:
hostDNS:
enabled: false
forwardKubeDNSToHost: false
kubelet:
clusterDNS:
- [SERVER-IP]
network:
hostname: node-talos
interfaces:
- interface: eth0
dhcp: true
nameservers:
- 8.8.8.8
- 8.8.4.4
time:
disabled: false
servers:
- ntp.ix.com
bootTimeout: 2m0s
Փոխարինեք [SERVER-IP]-ն ձեր սերվերի IP հասցեով ֆայլի մի քանի վայրերում:
Նշում
Ստատիկ IP-ների հետ աշխատելու համար օգտագործեք հետևյալ patch-ը
cluster:
apiServer:
certSANs:
- 127.0.0.1
- localhost
- kubernetes
- kubernetes.default
- kubernetes.default.svc
- kubernetes.default.svc.cluster.local
- [SERVER-IP-ADDRESS]
machine:
install:
disk: /dev/sda
image: factory.talos.dev/installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v1.9.5
wipe: true
extraKernelArgs:
- talos.platform=metal
features:
hostDNS:
enabled: false
forwardKubeDNSToHost: false
kubelet:
clusterDNS:
- [SERVER-IP-ADDRESS]
network:
hostname: node-talos
interfaces:
- interface: [INTERFACE NAME]
addresses:
- [YOUR SERVER'S API]/[SUBNET MASK]
mtu: 8765
routes:
- network: 0.0.0.0/0
gateway: [YOUR SERVER's GATEWAY]
nameservers:
- 8.8.8.8
- 8.8.4.4
time:
disabled: false
servers:
- pool.ntp.org
bootTimeout: 2m0s
Քայլ 4. Talos հաշվեթելի կոնֆիգուրացում¶
talosctl --talosconfig talosconfig config endpoint [SERVER-IP]
talosctl --talosconfig talosconfig config node [SERVER-IP]
Քայլ 5. Patch-ի կիրառում կոնֆիգուրացիային¶
Linux/macOS-ի համար.
talosctl machineconfig patch controlplane.yaml --patch @patch.controlplane.yaml -o controlplane_patched.yaml
Windows-ի համար (PowerShell).
talosctl machineconfig patch controlplane.yaml --patch "`@patch.controlplane.yaml" -o controlplane_patched.yaml
Քայլ 6. Կոնֆիգուրացիայի կիրառում սերվերին¶
talosctl --talosconfig ./talosconfig apply-config --insecure -n [SERVER-IP] -e [SERVER-IP] --file ./controlplane_patched.yaml
Այս հրամանը կատարելուց հետո սերվերի վրա կսկսվի տեղադրման գործընթացը: Դուք կարող եք հետևել այս գործընթացին կառավարման վահանակի կոնսոլի միջոցով:
Քայլ 7. Սպասում տեղադրման ավարտին¶
Սպասեք, մինչև սերվերի կոնսոլի կարգավիճակը փոխվի.
Stage: Booting>Stage: Running;Ready: Trueպետք է մնա ակտիվ.

Կոնսոլը պետք է ցուցադրի հետևյալ հաղորդագրությունը.
[talos] etcd is waiting to join the cluster. If this node is the first node in the cluster, please run 'talosctl bootstrap'
Քայլ 8. Կլաստերի ինիցիալիզացիա¶
Սերվերը կլաստերին միանալու սպասման մասին հաղորդագրություն ցուցադրելուց հետո, կատարեք.
Քայլ 9. Kubernetes կոնֆիգուրացիայի ստացում¶
Սպասեք [talos] machine is running and ready հաղորդագրությանը կոնսոլում, այնուհետև կատարեք.
Այս հրամանը կստեղծի kubeconf ֆայլ, որը կարող է օգտագործվել Kubernetes կլաստերը կառավարելու համար:
Կարևոր նշումներ
- Պահպանեք
secrets.yamlևtalosconfigֆայլերը անվտանգ վայրում - դրանք անհրաժեշտ են կլաստերին ապագա հասանելիության համար; - Հաջող տեղադրումից հետո համակարգը կպահպանվի սկավառակի վրա և չի կորչի վերագործարկման դեպքում;
- Հյուրընկալի անունը պետք է ճշգրիտ համընկնի ձեր կոնֆիգուրացիոն ֆայլերի և հրամանների միջև:
Կոնֆիգուրացիա և կառավարում¶
Talos OS-ը սկավառակի վրա հաջողությամբ տեղադրելուց հետո, դուք կարող եք կառավարել ձեր սերվերը՝ օգտագործելով talosctl.
- Ստացեք հանգույցի կարգավիճակը.
- Դիտեք համակարգի ռեսուրսները.
- Ցուցադրեք աշխատող ծառայությունները.
- Վերագործարկեք հանգույցը.
Kubernetes կլաստերի ստեղծում¶
Ձեր Kubernetes կլաստերը պետք է արդեն ինիցիալիզացված լինի bootstrap հրամանը կատարելուց հետո: Այնով աշխատելու համար.
- Տեղադրեք kubectl ձեր տեղական մեքենայում.
Linux-ի համար.
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
Windows-ի համար.
- Կոնֆիգուրացրեք կլաստերին հասանելիությունը.
Linux/macOS-ի համար.
Windows PowerShell-ի համար.- Ստուգեք կլաստերի ֆունկցիոնալությունը.
Բազմահանգույց կլաստերի ստեղծում¶
Կլաստերին լրացուցիչ հանգույցներ ավելացնելու համար.
-
Նոր control plane հանգույցի համար.
-
worker հանգույցի համար.
Նշում
Bootstrap-ը կատարվում է միայն մեկ անգամ առաջին հանգույցի վրա: Լրացուցիչ հանգույցները ավտոմատ կերպով կմիանան գոյություն ունեցող կլաստերին:
Կլաստերի կառավարման ինտերֆեյս¶
Կլաստերը ստեղծելուց հետո կառավարման համար հասանելի են տարբեր գործիքներ.
- talosctl. Talos OS հանգույցների կառավարում;
- kubectl. Kubernetes ռեսուրսների կառավարում;
- Վեբ վահանակներ. լրացուցիչ կառավարման վահանակներ կարելի է տեղադրել Kubernetes-ի միջոցով:
Համակարգի թարմացում և մոնիտորինգ¶
Talos OS-ի թարմացում¶
Talos OS-ը աջակցում է ատոմային թարմացումներ՝ առանց կլաստերի ընդհատումների.
-
Ստուգեք հասանելի տարբերակները.
-
Կատարեք հանգույցի թարմացում.
Համակարգի մոնիտորինգ¶
Talos OS-ը ապահովում է մոնիտորինգի մի քանի մեթոդներ.
-
Ներկառուցված գործիքներ.
-
Տեղադրեք մոնիտորինգի լուծումներ Kubernetes-ի միջոցով.
Նշում
Լրացուցիչ Talos OS կոնֆիգուրացիաների մանրամասն տեղեկատվություն հասանելի է զարգացնողների փաստաթղթերում:
Օգտակար հոդվածներ թեմայի վերաբերյալ¶
Պատվիրեք Talos OS API-ի միջոցով¶
Այս ծրագրային ապահովումը API-ի միջոցով տեղադրելու համար, հետևեք այս հրահանգներին: