සටහන. පරිවර්තනය.: මුල් ද්රව්යයේ කතුවරයා Zalando හි Henning Jacobs ය. ඔහු Kubernetes සමඟ වැඩ කිරීම සඳහා නව වෙබ් අතුරු මුහුණතක් නිර්මාණය කළේය, එය "වෙබ් සඳහා kubectl" ලෙස ස්ථානගත කර ඇත. නව විවෘත මූලාශ්ර ව්යාපෘතියක් දර්ශනය වූයේ ඇයි සහ පවතින විසඳුම් මගින් සපුරා නොමැති නිර්ණායක මොනවාද - ඔහුගේ ලිපිය කියවන්න.
මෙම සටහනේදී, මම විවිධ විවෘත මූලාශ්ර Kubernetes වෙබ් අතුරුමුහුණත් සමාලෝචනය කරමි, විශ්වීය UI සඳහා මගේ අවශ්යතා ඉදිරිපත් කරමි, සහ මා සංවර්ධනය කළේ මන්දැයි පැහැදිලි කරමි.
නඩු භාවිතා කරන්න
Zalando හි අපි Kubernetes භාවිතා කරන්නන් (900+) සහ පොකුරු (100+) විශාල සංඛ්යාවක් සේවය කරමු. කැපවූ වෙබ් මෙවලමකින් ප්රයෝජන ගත හැකි පොදු භාවිත අවස්ථා කිහිපයක් තිබේ:
- සහාය සඳහා සගයන් සමඟ සන්නිවේදනය;
- සිදුවීම් වලට ප්රතිචාර දැක්වීම සහ ඒවායේ හේතු සොයා බැලීම.
සහාය
මගේ අත්දැකීම් අනුව, උපකාරක සන්නිවේදනයන් බොහෝ විට මේ ආකාරයෙන් පෙනේ:
— උදව්, අපගේ සේවාව XYZ නොමැත!
- ඔබ රඟපාන විට ඔබ දකින්නේ කුමක්ද? kubectl describe ingress ...
?
හෝ CRD සඳහා සමාන දෙයක්:
- හඳුනාගැනීමේ සේවාව සම්බන්ධයෙන් මට යම් ගැටලුවක් තිබේ...
- විධානය නිෂ්පාදනය කරන්නේ කුමක්ද? kubectl describe platformcredentialsset ...
?
එවැනි සන්නිවේදනයක් සාමාන්යයෙන් විධානයේ විවිධ වෙනස්කම් වලට ඇතුල් වේ kubectl
ගැටලුව හඳුනා ගැනීම සඳහා. එහි ප්රතිඵලයක් වශයෙන්, සංවාදයට සම්බන්ධ දෙපාර්ශවයටම ටර්මිනලය සහ වෙබ් කතාබස් අතර නිරන්තරයෙන් මාරු වීමට බල කෙරෙන අතර, ඔවුන් වෙනස් තත්වයක් නිරීක්ෂණය කරයි.
එබැවින්, Kubernetes වෙබ් ඉදිරිපෙළ පහත සඳහන් දේට ඉඩ දීමට මම කැමතියි:
- පරිශීලකයින්ට හැකි විය හුවමාරු සබැඳි සහ එකම දේ නිරීක්ෂණය කරන්න;
- උදව් වනු ඇත මිනිස් වැරදි වලින් වළකින්න සහය දැක්වීමේදී: උදාහරණයක් ලෙස, විධාන රේඛාවේ වැරදි පොකුරකට ඇතුල් වීම, CLI විධානවල යතුරු ලියනය, ආදිය;
- ඉඩ දෙනු ඇත ඔබේම අදහස් ජනනය කරන්න සගයන් වෙත යැවීමට, එනම්, ටැග් තීරු එකතු කිරීම, එක් පිටුවක බොහෝ සම්පත් ප්රදර්ශනය කිරීම;
- ඉතා මැනවින්, මෙම වෙබ් මෙවලම ඔබට සැකසීමට ඉඩ දිය යුතුය YAML හි නිශ්චිත කොටස් වෙත "ගැඹුරු" සබැඳි (උදාහරණයක් ලෙස, අසාර්ථක වීමට හේතු වන වැරදි පරාමිතියක් පෙන්වා දීම).
සිදුවීම් ප්රතිචාරය සහ විශ්ලේෂණය
යටිතල පහසුකම් සිදුවීම්වලට ප්රතිචාර දැක්වීම සඳහා තත්ත්ව පිළිබඳ දැනුවත්භාවය, බලපෑම තක්සේරු කිරීමේ හැකියාව සහ පොකුරු රටා සෙවීම අවශ්ය වේ. සැබෑ ජීවිතයේ උදාහරණ කිහිපයක්:
- තීරණාත්මක නිෂ්පාදන සේවාවක් ගැටළු ඇති අතර ඔබට අවශ්ය වේ සියලුම පොකුරු වල නමින් සියලුම Kubernetes සම්පත් සොයා ගන්නදෝශ නිරාකරණය කිරීමට;
- පරිමාණය කිරීමේදී නෝඩ් වැටීමට පටන් ගනී සහ ඔබට අවශ්ය වේ සියලුම පොකුරු වල "පොරොත්තු" තත්ත්වය ඇති සියලුම කරල් සොයා ගන්නගැටලුවේ විෂය පථය තක්සේරු කිරීමට;
- තනි පරිශීලකයන් සියලු පොකුරු හරහා යොදවා ඇති DaemonSet සමඟ ගැටලුවක් වාර්තා කරන අතර එය සොයා ගැනීමට අවශ්ය වේ ගැටලුව සම්පූර්ණද?.
එවැනි අවස්ථාවලදී මගේ සම්මත විසඳුම එවැනි දෙයක් for i in $clusters; do kubectl ...; done
. නිසැකවම, සමාන හැකියාවන් සපයන මෙවලමක් සංවර්ධනය කළ හැකිය.
පවතින Kubernetes වෙබ් අතුරු මුහුණත්
Kubernetes වෙත වෙබ් අතුරුමුහුණත් වල විවෘත මූලාශ්ර ලෝකය ඉතා විශාල නොවේ*, ඒ නිසා මම භාවිතා කර වැඩිදුර තොරතුරු රැස් කිරීමට උත්සාහ කළෙමි
*Kubernetes සඳහා සීමිත වෙබ් අතුරුමුහුණත් සංඛ්යාව සඳහා මගේ පැහැදිලි කිරීම: Cloud සේවා සහ Kubernetes වෙළෙන්දන් සාමාන්යයෙන් ඔවුන්ගේම ඉදිරිපස ලබා දෙයි, එබැවින් "හොඳ" නොමිලේ Kubernetes UI සඳහා වෙළඳපල සාපේක්ෂව කුඩා වේ.
ට්වීට් එකකින් මම දැනගත්තා
K8Dash
"K8Dash යනු Kubernetes පොකුරක් කළමනාකරණය කිරීමේ සරලම ක්රමයයි."
- එක් පොකුරක මායිම් තුළ පමණක් ක්රියා කරයි.
- වර්ග කිරීම සහ පෙරීම කළ හැකි නමුත් පර්මාලින්ක් නොමැත.
- Custom Resource Definitions (CRDs) සඳහා සහායක් නොමැත.
කුබර්නේටර්
"Kubernator යනු Kubernetes සඳහා විකල්ප UI වේ. ඉහළ මට්ටමේ Kubernetes උපකරණ පුවරුව මෙන් නොව, එය නව ඒවා නිර්මාණය කිරීමට, ඒවා සංස්කරණය කිරීමට සහ ගැටුම් නිරාකරණය කිරීමට හැකියාව ඇති පොකුරේ ඇති සියලුම වස්තූන් වෙත පහත් මට්ටමේ පාලනයක් සහ විශිෂ්ට දෘශ්යතාවක් සපයයි. සම්පූර්ණයෙන්ම සේවාලාභී පාර්ශවීය යෙදුමක් වන (kubectl වැනි), එයට Kubernetes API සේවාදායකය හැර වෙනත් කිසිදු පසුබිමක් අවශ්ය නොවන අතර පොකුරු ප්රවේශ නීතිවලට ද ගරු කරයි.
මෙය තරමක් නිවැරදි විස්තරයකි
- එක් පොකුරක් පමණක් සේවය කරයි.
- ලැයිස්තු බැලීමේ මාදිලියක් නොමැත (එනම්, ඔබට "පොරොත්තුවෙන්" තත්ත්වය සහිත සියලුම කරල් ප්රදර්ශනය කළ නොහැක).
Kubernetes උපකරණ පුවරුව
“Kubernetes Dashboard යනු Kubernetes පොකුරු සඳහා විශ්වීය වෙබ් අතුරු මුහුණතකි. එය පොකුරක් තුළ ක්රියාත්මක වන යෙදුම් කළමනාකරණය කිරීමට සහ දෝශ නිරාකරණය කිරීමට මෙන්ම පොකුරු කළමනාකරණය කිරීමට පරිශීලකයින්ට ඉඩ සලසයි.
අවාසනාවට
- ස්ථිර සබැඳි නොමැත, උදාහරණයක් ලෙස මම සම්පත් පෙරන විට හෝ වර්ග කිරීමේ අනුපිළිවෙල වෙනස් කරන විට;
- තත්වය අනුව පෙරීමට පහසු ක්රමයක් නොමැත - උදාහරණයක් ලෙස, "පොරොත්තුවෙන්" තත්ත්වය සහිත සියලුම කරල් බලන්න;
- එක් පොකුරක් පමණක් සහය දක්වයි;
- CRDs සඳහා සහය නොදක්වයි (මෙම විශේෂාංගය සංවර්ධනය වෙමින් පවතී);
- අභිරුචි තීරු නොමැත (වර්ගය අනුව ලේබල් කර ඇති තීරු වැනි
kubectl -L
).
Kubernetes Operational View (kube-ops-view)
"K8s Cluster Space සඳහා පද්ධති උපකරණ පුවරු නිරීක්ෂකය."
У
* සටහන. පරිවර්තනය.: මෙම අර්ථයෙන්, ඔබ අපගේ ප්ලගිනය ගැනද උනන්දු විය හැකිය
Kubernetes සම්පත් වාර්තාව (kube-resource-report)
"Pod සහ Kubernetes පොකුරු සම්පත් ඉල්ලීම් එකතු කරන්න, ඒවා සම්පත් පරිභෝජනයට සංසන්දනය කරන්න, සහ ස්ථිතික HTML උත්පාදනය කරන්න."
සටහන. පරිවර්තනය.: වලාකුළු සපයන්නන් අතර සම්පත් වෙන් කිරීම සහ ඒවායේ පිරිවැය පිළිබඳ තොරතුරු බැලීම සඳහා සේවාවක් සහ මෙවලමක් ද ප්රයෝජනවත් විය හැකිය.
ඔක්ටන්ට්
"කුබර්නෙටස් පොකුරු වල සංකීර්ණත්වය පිළිබඳ වැඩි අවබෝධයක් ලබා දීම සඳහා නිර්මාණය කර ඇති සංවර්ධකයින් සඳහා විස්තීරණ වෙබ් වේදිකාවක්."
- පොකුරු සෙවීමක් නැත.
- දේශීය යන්ත්රය මත පමණක් ක්රියා කරයි (පොකුරකට යොදවන්නේ නැත).
- වස්තු වර්ග කිරීමට/පෙරහන් කිරීමට නොහැක (ලේබල් තේරීමට පමණක් සහය දක්වයි).
- ඔබට අභිරුචි තීරු නියම කළ නොහැක.
- ඔබට නාම අවකාශයෙන් වස්තු ලැයිස්තුගත කළ නොහැක.
මට Zalando පොකුරු සමඟ Octant හි ස්ථායීතාවය සම්බන්ධයෙන්ද ගැටළු ඇති විය: සමහර CRD වල
Kubernetes Web View හඳුන්වා දීම
"වෙබ් සඳහා kubectl".
Kubernetes සඳහා පවතින අතුරු මුහුණත් විකල්ප විශ්ලේෂණය කිරීමෙන් පසුව, මම නව එකක් නිර්මාණය කිරීමට තීරණය කළෙමි: kubectl
වෙබයේ, එනම්:
- පරිශීලකයන් kubectl භාවිතා කිරීමට කැමති සියලුම (කියවීමට පමණක්) මෙහෙයුම් ලබා ගැනීමේ හැකියාව;
- සියලුම URL ස්ථිර විය යුතු අතර පිටුව එහි මුල් ස්වරූපයෙන් නියෝජනය කළ යුතුය, එවිට සගයන්ට ඒවා බෙදා ගැනීමට සහ වෙනත් මෙවලම්වල ඒවා භාවිතා කළ හැකිය;
- ඕනෑම ආකාරයක ගැටළුවක් විසඳීමට ඔබට ඉඩ සලසන සියලුම Kubernetes වස්තූන් සඳහා සහාය;
- වැඩිදුර වැඩ සඳහා සම්පත් ලැයිස්තු බාගත කළ හැකි විය යුතුය (පැතුරුම්පත් වල, CLI මෙවලම් වැනි
grep
) සහ ගබඩා කිරීම (උදාහරණයක් ලෙස, පශ්චාත් මරණ පරීක්ෂණ සඳහා); - ලේබලය මගින් සම්පත් තෝරාගැනීම සඳහා සහාය (සමාන
kubectl get .. -l
); - විවිධ වර්ගයේ සම්පත් වල ඒකාබද්ධ ලැයිස්තු නිර්මාණය කිරීමේ හැකියාව (සමාන
kubectl get all
) සගයන් අතර පොදු මෙහෙයුම් චිත්රයක් ලබා ගැනීම සඳහා (උදාහරණයක් ලෙස, සිදුවීම් ප්රතිචාරයක් අතරතුර); - උපකරණ පුවරු, ලොගර්, යෙදුම් රෙජිස්ට්රි වැනි වෙනත් මෙවලම් වෙත අභිරුචි ස්මාර්ට් ගැඹුරු සබැඳි එක් කිරීමේ හැකියාව. දෝශ නිරාකරණය / දෝෂ නිරාකරණය සහ සිදුවීම් වලට ප්රතිචාර දැක්වීමට පහසුකම් සැලසීමට;
- ශීත කළ ජාවාස්ක්රිප්ට් වැනි අහඹු ගැටලු මඟහරවා ගැනීම සඳහා ඉදිරිපස කෙළවර හැකි තරම් සරල විය යුතුය (පිරිසිදු HTML);
- දුරස්ථ උපදේශනය අතරතුර අන්තර්ක්රියා සරල කිරීමට බහු පොකුරු සඳහා සහාය (උදාහරණයක් ලෙස, එක් URL එකක් පමණක් මතක තබා ගැනීමට);
- හැකි නම්, තත්ත්ව විශ්ලේෂණය සරල කළ යුතුය (උදාහරණයක් ලෙස, සියලුම පොකුරු/නාම අවකාශයන් සඳහා සම්පත් බාගත කිරීමට සබැඳි සමඟ);
- නම්යශීලී සබැඳි නිර්මාණය කිරීම සහ පෙළ තොරතුරු ඉස්මතු කිරීම සඳහා අමතර අවස්ථා, උදාහරණයක් ලෙස, ඔබට සම්පත් විස්තරයේ නිශ්චිත කොටසකට සගයන් යොමු කළ හැකිය (YAML හි රේඛාවක්);
- නිශ්චිත සේවාලාභියෙකුගේ අවශ්යතා අනුව අභිරුචිකරණය කිරීමේ හැකියාව, උදාහරණයක් ලෙස, CRD සඳහා විශේෂ සංදර්ශක සැකිලි නිර්මාණය කිරීමට, ඔබේම වගු දර්ශන සහ CSS විලාසයන් වෙනස් කිරීමට ඔබට ඉඩ සලසයි;
- විධාන රේඛාවේ වැඩිදුර ගවේෂණය සඳහා මෙවලම් (උදාහරණයක් ලෙස, සම්පූර්ණ විධාන පෙන්වයි
kubectl
, පිටපත් කිරීමට සූදානම්);
Kubernetes Web View හි විසඳන ලද කාර්යයන් වලින් ඔබ්බට (ඉලක්ක නොවන) ඉතිරිව ඇත:
- Kubernetes වස්තූන් වියුක්ත කිරීම;
- යෙදුම් කළමනාකරණය (උදාහරණයක් ලෙස, යෙදවුම් කළමනාකරණය, හෙල්ම් ප්රස්ථාර, ආදිය);
- ලිවීමේ මෙහෙයුම් (ආරක්ෂිත CI/CD සහ/හෝ GitOps මෙවලම් හරහා කළ යුතුය);
- ලස්සන අතුරු මුහුණත (JavaScript, තේමාවන්, ආදිය);
- දෘශ්යකරණය (බලන්න
kube-ops-view ); - පිරිවැය විශ්ලේෂණය (බලන්න
kube-සම්පත්-වාර්තාව ).
Kubernetes Web View සහාය සහ සිද්ධි ප්රතිචාර සඳහා උදවු කරන්නේ කෙසේද?
සහාය
- සියලුම සබැඳි ස්ථිරයි, සගයන් සමඟ තොරතුරු හුවමාරු කර ගැනීම පහසු කරයි.
- ඔබට නිර්මාණය කළ හැකිය ඔබේ අදහස්, උදාහරණයක් ලෙස, සියලුම යෙදවුම් සහ පොඩ් විශේෂිත පොකුරු දෙකකින් විශේෂිත ලේබලයක් සමඟ ප්රදර්ශනය කරන්න (පොකුරු නම් සහ සම්පත් වර්ග කිහිපයක් සබැඳිය තුළ සඳහන් කළ හැක, කොමාවෙන් වෙන් කළ හැක).
- ඔබට යොමු කළ හැකිය YAML ගොනුවක නිශ්චිත රේඛා වස්තුව, වස්තුව පිරිවිතරයේ ඇති විය හැකි ගැටළු පෙන්නුම් කරයි.
Kubernetes Web View හි පොකුරු අනුව සොයන්න
සිද්ධි ප්රතිචාරය
- ගෝලීය සෙවීම (ගෝලීය සෙවීම) සියලුම පොකුරු වල ඇති වස්තූන් සෙවීමට ඔබට ඉඩ සලසයි.
- දර්ශන ලැයිස්තු සියලුම පොකුරු වල යම් තත්වයක්/තීරුවක් සහිත සියලුම වස්තු ප්රදර්ශනය කළ හැක (උදාහරණයක් ලෙස, "පොරොත්තුවෙන්" තත්ත්වය සහිත සියලුම කරල් සොයා ගැනීමට අපට අවශ්ය වේ).
- වස්තු ලැයිස්තුව බාගත කළ හැක පසුව විශ්ලේෂණය සඳහා ටැබ් වෙන් කළ අගය (TSV) ආකෘතියෙන්.
-
අභිරුචිකරණය කළ හැකි බාහිර සබැඳි අදාළ උපකරණ පුවරු සහ වෙනත් මෙවලම් වෙත මාරු වීමට ඔබට ඉඩ සලසයි.
Kubernetes Web View: සියලුම පොකුරු වල "පොරොත්තු" තත්ත්වය සහිත කරල් ලැයිස්තුව
ඔබට Kubernetes Web View උත්සාහ කිරීමට අවශ්ය නම්, මම පරීක්ෂා කර බැලීමට නිර්දේශ කරමි
ඇත්ත වශයෙන්ම, අතුරු මුහුණත වඩා හොඳ විය හැකිය, නමුත් දැනට Kubernetes Web View යනු අවශ්ය නම් අතින් URL මාර්ග හැසිරවීමට පසුබට නොවන “උසස් පරිශීලකයින්” සඳහා වූ මෙවලමකි. ඔබට කිසියම් අදහස් / එකතු කිරීම් / යෝජනා තිබේ නම්, කරුණාකර සම්බන්ධ වන්න
මෙම ලිපිය Kubernetes Web View නිර්මාණය කිරීමට හේතු වූ පසුබිම පිළිබඳ කෙටි ඉතිහාසයකි. තවත් අනුගමනය කරනු ඇත! (සටහන. පරිවර්තනය.: ඔවුන් අපේක්ෂා කළ යුතුය
PS පරිවර්තකයාගෙන්
අපගේ බ්ලොග් අඩවියේ ද කියවන්න:
- «
kubebox සහ Kubernetes සඳහා වෙනත් ෂෙල් වෙඩි »; - «
Kubernetes මත ධාවනය වන යෙදුම් සංවර්ධකයින් සඳහා මෙවලම් »; - «
Kubelive console උපයෝගීතාව Kubernetes සමඟ අන්තර්ක්රියාකාරී වැඩ සඳහා පෙනී සිට ඇත »; - «
Kubernetes සමඟ වැඩ කිරීමේදී ප්රයෝජනවත් උපයෝගිතා ".
මූලාශ්රය: www.habr.com