Minikube¶
Այս հոդվածում
Տեղեկատվություն
Minikube-ն հրամանների տողի գործիք է, որը թույլ է տալիս հեշտությամբ տեղակայել տեղական Kubernetes կլաստեր: Այն օգտակար է զարգացնողների համար, ովքեր փորձարկման և հավելվածների մշակման համար պահանջում են տեղական Kubernetes միջավայր:
Զգուշացում
Սա միայն կոնտեյներների կամ վիրտուալ մեքենաների կառավարիչների կառավարման գործիք է, օրինակ՝ Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox կամ VMware Fusion/Workstation: Ձեզ անհրաժեշտ է ինքնուրույն տեղակայել սերվերի վրա պահանջվող կոնտեյներացման կամ VM ծրագրային ապահովումը:
Minikube. Հիմնական հնարավորություններ¶
- Տեղական Kubernetes կլաստերի արագ միացում - minikube-ն թույլ է տալիս տեղական մեքենայի վրա մի քանի րոպեում միացնել մեկ հանգույցով Kubernetes կլաստեր: Ձեզ չի պահանջվում անցնել բարդ կոնֆիգուրացիայի կամ ստեղծել ամբողջական բազմահանգույց կլաստեր:
- Տարբեր վիրտուալացման վարորդների աջակցություն - Minikube կլաստերը կարող է աշխատել VirtualBox, Hyper-V, VMware միջավայրում և բնածին կերպով Linux, macOS և Windows համակարգերում: Սա ձեզ տալիս է ճկունություն տեղակայման եղանակի ընտրության հարցում:
- kubectl-ի ավտոմատ կոնֆիգուրացիա - կլաստերի միացումից հետո minikube-ն ավտոմատ կերպով կոնֆիգուրացնում է kubectl-ը դրա հետ կապ հաստատելու համար: Kubernetes հաճախորդի ձեռքով կոնֆիգուրացիայի անհրաժեշտություն չկա:
- Ներկառուցված dashboard և հավելվածներ - dashboard, heapster, ingress controller և այլ օգտակար գործիքներ ավելացվում են կլաստերին արդեն նախապես: Սա արագացնում է սկզբնական փուլը:
- Հարմար կառավարման հրամաններ - minikube start, stop, delete և այլ հրամանները հեշտացնում են կլաստերի կյանքի ցիկլի կառավարումը ուղղակիորեն տերմինալից:
- Տարանջատման ցանցային ռեժիմներ - հնարավոր է միացնել կլաստերը host-only ցանցային ռեժիմով՝ այն մեկուսացնելու համար հիմնական ցանցից:
- Add-on-ների աջակցություն - լրացուցիչ հնարավորություններ, ինչպիսիք են մոնիտորինգը, լոգավորումը, վիզուալիզացիան և այլն, կարելի է ակտիվացնել add-on-ների միջոցով:
- Ամպային ծառայությունների ինտեգրացիա - kubectl-ը և dashboard-ը կարելի է հարմարեցնել աշխատելու հեռավոր կլաստերների հետ ամպում:
Տեղակայման հնարավորություններ¶
| ID | Ծրագրային ապահովման անվանում | Համատեղելի ՕՀ | VM | BM | VGPU | GPU | Նվազագույն CPU (միջուկներ) | Նվազագույն RAM (ԳԲ) | Նվազագույն HDD/SSD (ԳԲ) | Սեփական դոմեն | Ակտիվ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 44 | Minikube | Ubuntu 22.04 | + | + | + | - | 2 | 2 | - | Ոչ | ՊԱՏՎԻՐԵԼ |
Նշում
Եթե այլ կերպ նշված չէ, լռելյայն մենք տեղակայում ենք ծրագրային ապահովման վերջին թողարկված տարբերակը՝ զարգացնողի կայքից կամ օպերացիոն համակարգի պահոցներից:
Սկսել աշխատել Minikube-ի տեղակայումից հետո¶
Գրանցման ժամանակ նշված էլ. հասցեին կուղարկվի ծանուցում, որ սերվերը պատրաստ է աշխատանքի՝ պատվերի վճարումից հետո: Այն կպարունակի VPS-ի IP հասցեն, ինչպես նաև մուտքի և գաղտնաբառի տվյալները:
Մեր ընկերության հաճախորդները սերվերների և API կառավարման վահանակի միջոցով կառավարում են սարքավորումները — Invapi:
Դուք կարող եք գտնել լիազորման տվյալները սերվերի կառավարման վահանակի Configuration >> Tags թաբում կամ ուղարկված էլ. նամակում:
- Գաղտնաբառ. Ուղարկվում է ձեր էլ. հասցեին սերվերի պատրաստ լինելուց հետո՝ ծրագրային ապահովման տեղակայումից հետո:
Ծառայությամբ աշխատելու համար դուք պետք է միացնվեք սերվերին SSH-ի միջոցով.
Այնուհետև կատարեք start հրամանը, որը ավտոմատ կերպով կստեղծի տեղական Kubernetes կլաստեր՝ օգտագործելով բազմաթիվ Docker կոնտեյներներ և Kubernetes-ի վերջին կայուն տարբերակը.
Հրամանի կատարումը կտևի որոշ ժամանակ և պետք է ցուցադրի տեղեկատվություն, որ kubectl-ը կոնֆիգուրացված է:
Նշում
Եթե անհրաժեշտ է minikube-ն միացնել ոչ ստանդարտ Kubernetes տարբերակով՝ համատեղելիությունը ստուգելու համար, կարող եք օգտագործել minikube start հրամանը --kubernetes-version պարամետրով, օրինակ՝ v1.2.3:
Minikube-ի տեղակայումը Homebrew-ի միջոցով նաև տեղակայում է kubectl-ը, որը Kubernetes կլաստերները կառավարելու հիմնական հրամանների տողի գործիքն է: Դուք կարող եք հիմա կատարել kubectl get հրամանը, ինչպես ցանկացած այլ Kubernetes կլաստերի դեպքում, բոլոր աշխատող pod-երը ցուցադրելու համար.
-A պարամետրը վերադարձնում է pod-երը բոլոր namespace-երից:
Վերը նշված քայլերը կատարելուց հետո կստեղծվի տեղական Kubernetes կլաստեր, և դուք կարող եք աշխատել դրա հետ՝ օգտագործելով ստանդարտ Kubernetes գործիքներ, ինչպիսիք են kubectl-ը:
Դուք կարող եք օգտագործել հետևյալ հրամանը Dashboard-ին մուտք գործելու համար.
Կատարումից հետո կցուցադրվի հղում, օրինակ՝ http://127.0.0.1:42049/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/: Այն պետք է խմբագրել՝ մուտքագրել սերվերի IP հասցեն, և այնուհետև անցնել dashboard-ի դիտմանը:
Ծառայության ստեղծում¶
Լռելյայն pod-ը հասանելի է միայն ներքին IP հասցեով Kubernetes կլաստերի ներսում: Hello-node կոնտեյները Kubernetes-ի վիրտուալ ցանցից դուրս հասանելի դարձնելու համար անհրաժեշտ է pod-ը բացել որպես Kubernetes ծառայություն:
Դուք կարող եք ենթացանցը հասանելի դարձնել հանրային ինտերնետից՝ օգտագործելով kubectl expose հրամանը.
--type=LoadBalancer դրոշակը ցույց է տալիս, որ ծառայությունը պետք է տեսանելի լինի կլաստերից դուրս:
Փորձարկման պատկերի հավելվածի կոդը միայն լսում է TCP 8080 պորտը: Եթե kubectl expose հրամանում հավելվածը հասանելի դարձնեք այլ պորտում, հաճախորդները չեն կարողանա միանալ այդ պորտին:
Դուք կարող եք ստուգել ստեղծված ծառայությունը հետևյալ հրամանով.
Արդյունքը կլինի մոտավորապես հետևյալը.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-node LoadBalancer 10.108.144.78 <pending> 8080:30369/TCP 21s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23m
Ամպային մատուցողների համար, որոնք աջակցում են բեռնաբաշխիչներին, տրվում է արտաքին IP հասցե ծառայությանը մուտք գործելու համար: Minikube-ում LoadBalancer տեսակը ծառայությունը հասանելի է դարձնում minikube service հրամանի միջոցով:
Կատարեք հրամանը.
Հրամանը բացում է բրաուզերի պատուհան, որտեղ աշխատում է հավելվածը և ցուցադրում դրա պատասխանը:
Նշում
Minikube-ի հիմնական կարգավորումների մանրամասն տեղեկատվության համար տեսեք զարգացնողների փաստաթղթերը: