ప్రోహోస్టర్ > బ్లాగ్ > పరిపాలన > Kubernetes వెబ్ వీక్షణ యొక్క ప్రకటన (మరియు Kubernetes కోసం ఇతర వెబ్ UIల సంక్షిప్త అవలోకనం)
Kubernetes వెబ్ వీక్షణ యొక్క ప్రకటన (మరియు Kubernetes కోసం ఇతర వెబ్ UIల సంక్షిప్త అవలోకనం)
గమనిక. అనువాదం.: అసలు మెటీరియల్ రచయిత జలాండోకు చెందిన హెన్నింగ్ జాకబ్స్. అతను కుబెర్నెట్స్తో కలిసి పనిచేయడానికి కొత్త వెబ్ ఇంటర్ఫేస్ను సృష్టించాడు, ఇది "వెబ్ కోసం kubectl"గా ఉంచబడింది. కొత్త ఓపెన్ సోర్స్ ప్రాజెక్ట్ ఎందుకు కనిపించింది మరియు ఇప్పటికే ఉన్న పరిష్కారాల ద్వారా ఏ ప్రమాణాలు నెరవేరలేదు - అతని కథనాన్ని చదవండి.
ఈ పోస్ట్లో, నేను వివిధ ఓపెన్ సోర్స్ కుబెర్నెట్స్ వెబ్ ఇంటర్ఫేస్లను సమీక్షిస్తాను, యూనివర్సల్ UI కోసం నా అవసరాలను నిర్దేశిస్తాను మరియు నేను ఎందుకు అభివృద్ధి చేశానో వివరించాను కుబెర్నెటెస్ వెబ్వ్యూ - ఒకేసారి బహుళ క్లస్టర్లకు మద్దతు ఇవ్వడం మరియు ట్రబుల్షూట్ చేయడం సులభతరం చేయడానికి రూపొందించబడిన ఇంటర్ఫేస్.
కేసులు వాడండి
Zalando వద్ద మేము పెద్ద సంఖ్యలో కుబెర్నెట్స్ వినియోగదారులకు (900+) మరియు క్లస్టర్లకు (100+) సేవలందిస్తున్నాము. అంకితమైన వెబ్ సాధనం నుండి ప్రయోజనం పొందే కొన్ని సాధారణ వినియోగ సందర్భాలు ఉన్నాయి:
మద్దతు కోసం సహోద్యోగులతో కమ్యూనికేషన్;
సంఘటనలకు ప్రతిస్పందించడం మరియు వాటి కారణాలను పరిశోధించడం.
Поддержка
నా అనుభవంలో, సపోర్ట్ కమ్యూనికేషన్లు తరచుగా ఇలా కనిపిస్తాయి:
— సహాయం, మా సేవ XYZ అందుబాటులో లేదు!
- మీరు ప్రదర్శన చేసినప్పుడు మీరు ఏమి చూస్తారు kubectl describe ingress ...?
లేదా CRDకి సంబంధించినది:
— నాకు గుర్తింపు సేవతో కొంత సమస్య ఉంది...
- ఆదేశం ఏమి ఉత్పత్తి చేస్తుంది? kubectl describe platformcredentialsset ...?
ఇటువంటి కమ్యూనికేషన్ సాధారణంగా కమాండ్ యొక్క వివిధ వైవిధ్యాలను నమోదు చేయడానికి వస్తుంది kubectl సమస్యను గుర్తించడానికి. ఫలితంగా, సంభాషణకు సంబంధించిన రెండు పక్షాలు టెర్మినల్ మరియు వెబ్ చాట్ మధ్య నిరంతరం మారవలసి వస్తుంది, అంతేకాకుండా వారు వేరే పరిస్థితిని గమనిస్తారు.
కాబట్టి, నేను క్రింది వాటిని అనుమతించాలని Kubernetes వెబ్ ఫ్రంటెండ్ కోరుకుంటున్నాను:
వినియోగదారులు చేయగలరు మార్పిడి లింకులు మరియు అదే విషయాన్ని గమనించండి;
సహాయం చేస్తుంది మానవ తప్పులను నివారించండి మద్దతులో: ఉదాహరణకు, కమాండ్ లైన్లోని తప్పు క్లస్టర్లోకి లాగిన్ చేయడం, CLI ఆదేశాలలో అక్షరదోషాలు మొదలైనవి;
అనుమతిస్తుంది మీ స్వంత అభిప్రాయాలను రూపొందించండి సహోద్యోగులకు పంపడానికి, అంటే, ట్యాగ్ల నిలువు వరుసలను జోడించడం, ఒక పేజీలో అనేక రకాల వనరులను ప్రదర్శించడం;
ఆదర్శవంతంగా, ఈ వెబ్ సాధనం మిమ్మల్ని సెట్ చేయడానికి అనుమతించాలి YAML యొక్క నిర్దిష్ట విభాగాలకు "డీప్" లింక్లు (ఉదాహరణకు, వైఫల్యాలకు కారణమయ్యే తప్పు పరామితిని ఎత్తి చూపడం).
సంఘటన ప్రతిస్పందన మరియు విశ్లేషణ
అవస్థాపన సంఘటనలకు ప్రతిస్పందించడానికి పరిస్థితులపై అవగాహన, ప్రభావాన్ని అంచనా వేయగల సామర్థ్యం మరియు క్లస్టర్లలో నమూనాల కోసం వెతకడం అవసరం. కొన్ని నిజ జీవిత ఉదాహరణలు:
క్లిష్టమైన ఉత్పత్తి సేవలో సమస్యలు ఉన్నాయి మరియు మీరు చేయాల్సి ఉంటుంది అన్ని క్లస్టర్లలో పేరు ద్వారా అన్ని కుబెర్నెట్స్ వనరులను కనుగొనండిట్రబుల్షూట్ చేయడానికి;
స్కేలింగ్ మరియు మీకు అవసరమైనప్పుడు నోడ్లు పడిపోతాయి అన్ని క్లస్టర్లలో "పెండింగ్లో ఉంది" స్థితి ఉన్న అన్ని పాడ్లను కనుగొనండిసమస్య యొక్క పరిధిని అంచనా వేయడానికి;
వ్యక్తిగత వినియోగదారులు అన్ని క్లస్టర్లలో డెమోన్సెట్తో సమస్యను నివేదిస్తున్నారు మరియు గుర్తించాల్సిన అవసరం ఉంది సమస్య మొత్తం ఉందా?.
అటువంటి సందర్భాలలో నా ప్రామాణిక పరిష్కారం అలాంటిదే for i in $clusters; do kubectl ...; done. సహజంగానే, సారూప్య సామర్థ్యాలను అందించే సాధనాన్ని అభివృద్ధి చేయడం సాధ్యపడుతుంది.
ఇప్పటికే ఉన్న Kubernetes వెబ్ ఇంటర్ఫేస్లు
కుబెర్నెటెస్కి వెబ్ ఇంటర్ఫేస్ల ఓపెన్ సోర్స్ ప్రపంచం చాలా పెద్దది కాదు*, కాబట్టి నేను ఉపయోగించి మరింత సమాచారాన్ని సేకరించడానికి ప్రయత్నించాను Twitter:
*Kubernetes కోసం పరిమిత సంఖ్యలో వెబ్ ఇంటర్ఫేస్ల గురించి నా వివరణ: క్లౌడ్ సేవలు మరియు కుబెర్నెట్స్ విక్రేతలు సాధారణంగా వారి స్వంత ఫ్రంటెండ్లను అందిస్తారు, కాబట్టి "మంచి" ఉచిత Kubernetes UI మార్కెట్ చాలా తక్కువగా ఉంటుంది.
ఒక ట్వీట్ ద్వారా నేను తెలుసుకున్నాను K8Dash, కుబర్నేటర్ и ఆక్టాంట్. వాటిని మరియు ఇప్పటికే ఉన్న ఇతర ఓపెన్ సోర్స్ పరిష్కారాలను చూద్దాం, అవి ఏమిటో అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం.
K8Dash
"K8Dash అనేది Kubernetes క్లస్టర్ని నిర్వహించడానికి సులభమైన మార్గం."
K8Dash బాగుంది మరియు వేగంగా అనిపిస్తుంది, కానీ పైన జాబితా చేయబడిన వినియోగ సందర్భాలలో అనేక ప్రతికూలతలు ఉన్నాయి:
ఒక క్లస్టర్ సరిహద్దుల్లో మాత్రమే పని చేస్తుంది.
సార్టింగ్ మరియు ఫిల్టరింగ్ సాధ్యమే, కానీ పెర్మాలింక్లు లేవు.
కస్టమ్ రిసోర్స్ డెఫినిషన్స్ (CRDలు)కి మద్దతు లేదు.
కుబర్నేటర్
“Kubernator అనేది Kubernetes కోసం ప్రత్యామ్నాయ UI. ఉన్నత-స్థాయి కుబెర్నెట్స్ డ్యాష్బోర్డ్ వలె కాకుండా, ఇది కొత్త వాటిని సృష్టించడం, వాటిని సవరించడం మరియు వైరుధ్యాలను పరిష్కరించే సామర్థ్యంతో క్లస్టర్లోని అన్ని వస్తువులకు తక్కువ-స్థాయి నియంత్రణ మరియు అద్భుతమైన దృశ్యమానతను అందిస్తుంది. పూర్తిగా క్లయింట్ సైడ్ అప్లికేషన్ (kubectl లాంటిది), దీనికి Kubernetes API సర్వర్ కాకుండా వేరే ఏ బ్యాకెండ్ అవసరం లేదు మరియు క్లస్టర్ యాక్సెస్ నియమాలను కూడా గౌరవిస్తుంది.
ఇది చాలా ఖచ్చితమైన వివరణ కుబర్నేటర్. దురదృష్టవశాత్తు, దీనికి కొన్ని లక్షణాలు లేవు:
ఒక క్లస్టర్కు మాత్రమే సేవలు అందిస్తుంది.
జాబితా వీక్షణ మోడ్ లేదు (అనగా, మీరు "పెండింగ్" స్థితితో అన్ని పాడ్లను ప్రదర్శించలేరు).
కుబెర్నెట్స్ డాష్బోర్డ్
“Kubernetes డ్యాష్బోర్డ్ అనేది Kubernetes క్లస్టర్ల కోసం ఒక యూనివర్సల్ వెబ్ ఇంటర్ఫేస్. క్లస్టర్లో నడుస్తున్న అప్లికేషన్లను మేనేజ్ చేయడానికి మరియు ట్రబుల్షూట్ చేయడానికి, అలాగే క్లస్టర్ను మేనేజ్ చేయడానికి ఇది వినియోగదారులను అనుమతిస్తుంది.
దురదృష్టవశాత్తు, కుబెర్నెట్స్ డాష్బోర్డ్ నా మద్దతు మరియు సంఘటన ప్రతిస్పందన కార్యకలాపాలతో నిజంగా సహాయం చేయదు ఎందుకంటే ఇది:
శాశ్వత లింక్లు లేవు, ఉదాహరణకు నేను వనరులను ఫిల్టర్ చేసినప్పుడు లేదా క్రమబద్ధీకరణ క్రమాన్ని మార్చినప్పుడు;
స్థితి ద్వారా ఫిల్టర్ చేయడానికి సులభమైన మార్గం లేదు - ఉదాహరణకు, "పెండింగ్" స్థితితో అన్ని పాడ్లను చూడండి;
ఒక క్లస్టర్కు మాత్రమే మద్దతు ఉంది;
CRDలకు మద్దతు లేదు (ఈ ఫీచర్ అభివృద్ధిలో ఉంది);
అనుకూల నిలువు వరుసలు లేవు (రకం ద్వారా లేబుల్ చేయబడిన నిలువు వరుసలు వంటివి kubectl -L).
కుబెర్నెట్స్ ఆపరేషనల్ వ్యూ (kube-ops-view)
"K8s క్లస్టర్ స్పేస్ కోసం సిస్టమ్ డాష్బోర్డ్ అబ్జర్వర్."
У కుబెర్నెట్స్ ఆపరేషనల్ వ్యూ పూర్తిగా భిన్నమైన విధానం: ఈ సాధనం వెబ్జిఎల్ని ఉపయోగించి క్లస్టర్ నోడ్లు మరియు పాడ్లను మాత్రమే చూపిస్తుంది, ఎలాంటి వచన వస్తువు వివరాలు లేకుండా. క్లస్టర్ ఆరోగ్యం (పాడ్లు పడిపోతున్నాయా?)* శీఘ్ర స్థూలదృష్టి కోసం ఇది చాలా బాగుంది, అయితే పైన వివరించిన మద్దతు మరియు సంఘటన ప్రతిస్పందన వినియోగ కేసులకు ఇది తగినది కాదు.
* గమనిక. అనువాదం.: ఈ కోణంలో, మీరు మా ప్లగిన్పై కూడా ఆసక్తి కలిగి ఉండవచ్చు గ్రాఫనా-స్టేటస్మాప్, మేము దాని గురించి మరింత వివరంగా మాట్లాడాము ఈ వ్యాసం.
"పాడ్ మరియు కుబెర్నెట్స్ క్లస్టర్ రిసోర్స్ రిక్వెస్ట్లను సేకరించండి, వాటిని వనరుల వినియోగానికి సరిపోల్చండి మరియు స్టాటిక్ HTMLని రూపొందించండి."
కుబెర్నెట్స్ రిసోర్స్ రిపోర్ట్ క్లస్టర్లలోని బృందాలు/అప్లికేషన్లలో వనరుల వినియోగం మరియు వ్యయ పంపిణీపై స్టాటిక్ HTML నివేదికలను రూపొందిస్తుంది. రిపోర్ట్ మద్దతు మరియు సంఘటన ప్రతిస్పందన కోసం కొంతవరకు ఉపయోగకరంగా ఉంటుంది ఎందుకంటే ఇది అప్లికేషన్ని అమలు చేసిన క్లస్టర్ను త్వరగా కనుగొనడానికి మిమ్మల్ని అనుమతిస్తుంది.
గమనిక. అనువాదం.: క్లౌడ్ ప్రొవైడర్లలో వనరుల కేటాయింపు మరియు వాటి ఖర్చుల గురించి సమాచారాన్ని వీక్షించడంలో ఒక సేవ మరియు సాధనం కూడా ఉపయోగపడవచ్చు. కుబెకోస్ట్, మేము సమీక్షించాము ఇటీవల ప్రచురించబడింది.
ఆక్టాంట్
"కుబెర్నెటెస్ క్లస్టర్ల సంక్లిష్టత గురించి మరింత అవగాహన కల్పించడానికి రూపొందించబడిన డెవలపర్ల కోసం విస్తరించదగిన వెబ్ ప్లాట్ఫారమ్."
ఆక్టాంట్, VMware ద్వారా సృష్టించబడింది, నేను సాపేక్షంగా ఇటీవల తెలుసుకున్న కొత్త ఉత్పత్తి. దాని సహాయంతో, స్థానిక మెషీన్లో క్లస్టర్ను అన్వేషించడం సౌకర్యంగా ఉంటుంది (విజువలైజేషన్లు కూడా ఉన్నాయి), అయితే ఇది మద్దతు మరియు సంఘటన ప్రతిస్పందన సమస్యలను పరిమిత స్థాయిలో మాత్రమే పరిష్కరిస్తుంది. అక్టెంట్ యొక్క ప్రతికూలతలు:
క్లస్టర్ శోధన లేదు.
స్థానిక మెషీన్లో మాత్రమే పని చేస్తుంది (క్లస్టర్కి అమలు చేయదు).
వస్తువులను క్రమబద్ధీకరించలేరు/ఫిల్టర్ చేయలేరు (లేబుల్ సెలెక్టర్కు మాత్రమే మద్దతు ఉంది).
మీరు అనుకూల నిలువు వరుసలను పేర్కొనలేరు.
మీరు నేమ్స్పేస్ ద్వారా వస్తువులను జాబితా చేయలేరు.
నేను Zalando క్లస్టర్లతో Octant యొక్క స్థిరత్వంతో కూడా సమస్యలను ఎదుర్కొన్నాను: కొన్ని CRDలలో అతను పడిపోతున్నాడు.
Kubernetes వెబ్ వీక్షణను పరిచయం చేస్తున్నాము
"వెబ్ కోసం kubectl".
Kubernetes కోసం అందుబాటులో ఉన్న ఇంటర్ఫేస్ ఎంపికలను విశ్లేషించిన తర్వాత, నేను కొత్తదాన్ని సృష్టించాలని నిర్ణయించుకున్నాను: కుబెర్నెటెస్ వెబ్వ్యూ. అన్ని తరువాత, నిజానికి, నాకు అన్ని శక్తి అవసరం kubectl వెబ్లో, అవి:
వినియోగదారులు kubectlని ఉపయోగించడానికి ఇష్టపడే అన్ని (చదవడానికి మాత్రమే) ఆపరేషన్ల లభ్యత;
అన్ని URLలు తప్పనిసరిగా శాశ్వతంగా ఉండాలి మరియు పేజీని దాని అసలు రూపంలో సూచించాలి, తద్వారా సహోద్యోగులు వాటిని భాగస్వామ్యం చేయవచ్చు మరియు వాటిని ఇతర సాధనాల్లో ఉపయోగించవచ్చు;
అన్ని కుబెర్నెట్స్ వస్తువులకు మద్దతు, ఇది ఏ రకమైన సమస్యను పరిష్కరించడానికి మిమ్మల్ని అనుమతిస్తుంది;
తదుపరి పని కోసం వనరుల జాబితాలు డౌన్లోడ్ చేయబడాలి (స్ప్రెడ్షీట్లలో, CLI సాధనాలు వంటివి grep) మరియు నిల్వ (ఉదాహరణకు, పోస్ట్మార్టంల కోసం);
లేబుల్ ద్వారా వనరులను ఎంచుకోవడానికి మద్దతు (ఇలాంటివి kubectl get .. -l);
వివిధ రకాల వనరుల మిశ్రమ జాబితాలను సృష్టించగల సామర్థ్యం (ఇలాంటివి kubectl get all) సహోద్యోగుల మధ్య ఒక సాధారణ కార్యాచరణ చిత్రాన్ని పొందడం (ఉదాహరణకు, సంఘటన ప్రతిస్పందన సమయంలో);
డాష్బోర్డ్లు, లాగర్లు, అప్లికేషన్ రిజిస్ట్రీలు మొదలైన ఇతర సాధనాలకు అనుకూల స్మార్ట్ డీప్ లింక్లను జోడించగల సామర్థ్యం. ట్రబుల్షూటింగ్/లోపాలను పరిష్కరించడానికి మరియు సంఘటనలకు ప్రతిస్పందించడానికి;
స్తంభింపచేసిన జావాస్క్రిప్ట్ వంటి యాదృచ్ఛిక సమస్యలను నివారించడానికి ఫ్రంటెండ్ వీలైనంత సరళంగా ఉండాలి (స్వచ్ఛమైన HTML);
రిమోట్ కన్సల్టింగ్ సమయంలో పరస్పర చర్యను సులభతరం చేయడానికి బహుళ క్లస్టర్లకు మద్దతు (ఉదాహరణకు, ఒక URL మాత్రమే గుర్తుంచుకోవడానికి);
వీలైతే, సందర్భానుసార విశ్లేషణను సరళీకృతం చేయాలి (ఉదాహరణకు, అన్ని క్లస్టర్లు/నేమ్స్పేస్ల కోసం వనరులను డౌన్లోడ్ చేయడానికి లింక్లతో);
సౌకర్యవంతమైన లింక్లను సృష్టించడం మరియు టెక్స్ట్ సమాచారాన్ని హైలైట్ చేయడం కోసం అదనపు అవకాశాలు, ఉదాహరణకు, మీరు సహోద్యోగులను వనరుల వివరణలోని నిర్దిష్ట విభాగానికి (YAMLలో ఒక లైన్) సూచించవచ్చు;
నిర్దిష్ట క్లయింట్ యొక్క అవసరాలకు అనుకూలీకరించగల సామర్థ్యం, ఉదాహరణకు, CRDల కోసం ప్రత్యేక ప్రదర్శన టెంప్లేట్లు, మీ స్వంత పట్టిక వీక్షణలు మరియు CSS శైలులను మార్చడానికి మిమ్మల్ని అనుమతిస్తుంది;
కమాండ్ లైన్లో తదుపరి అన్వేషణ కోసం సాధనాలు (ఉదాహరణకు, పూర్తి ఆదేశాలను చూపుతుంది kubectl, కాపీ చేయడానికి సిద్ధంగా ఉంది);
కుబెర్నెటెస్ వెబ్ వీక్షణలో పరిష్కరించబడిన టాస్క్లకు మించి (నాన్ గోల్స్) మిగిలి ఉంది:
కుబెర్నెటీస్ వస్తువుల సంగ్రహణ;
అప్లికేషన్ నిర్వహణ (ఉదాహరణకు, విస్తరణ నిర్వహణ, హెల్మ్ చార్ట్లు మొదలైనవి);
వ్రాత కార్యకలాపాలు (సురక్షిత CI/CD మరియు/లేదా GitOps సాధనాల ద్వారా తప్పక చేయాలి);
అందమైన ఇంటర్ఫేస్ (జావాస్క్రిప్ట్, థీమ్లు మొదలైనవి);
మద్దతు మరియు సంఘటన ప్రతిస్పందనతో Kubernetes వెబ్ వీక్షణ ఎలా సహాయపడుతుంది?
Поддержка
అన్ని లింక్లు శాశ్వతమైనవి, ఇది సహోద్యోగులతో సమాచార మార్పిడిని సులభతరం చేస్తుంది.
మీరు సృష్టించవచ్చు మీ ఆలోచనలు, ఉదాహరణకు, అన్ని డిప్లాయ్మెంట్లు మరియు పాడ్లను నిర్దిష్ట లేబుల్తో రెండు నిర్దిష్ట క్లస్టర్లలో ప్రదర్శించండి (అనేక క్లస్టర్ పేర్లు మరియు వనరుల రకాలను లింక్లో పేర్కొనవచ్చు, కామాలతో వేరు చేయవచ్చు).
మీరు సూచించవచ్చు YAML ఫైల్లో నిర్దిష్ట పంక్తులు వస్తువు, ఆబ్జెక్ట్ స్పెసిఫికేషన్లో సంభావ్య సమస్యలను సూచిస్తుంది.
Kubernetes వెబ్ వీక్షణలో క్లస్టర్ల ద్వారా శోధించండి
సంఘటన ప్రతిస్పందన
ప్రపంచ శోధన(గ్లోబల్ సెర్చ్) అన్ని క్లస్టర్లలోని వస్తువులను శోధించడానికి మిమ్మల్ని అనుమతిస్తుంది.
జాబితా వీక్షణలు అన్ని క్లస్టర్లలో నిర్దిష్ట స్థితి/నిలువు వరుసతో అన్ని వస్తువులను ప్రదర్శించవచ్చు (ఉదాహరణకు, మేము "పెండింగ్" స్థితితో అన్ని పాడ్లను కనుగొనాలి).
వస్తువుల జాబితాలను డౌన్లోడ్ చేసుకోవచ్చు తదుపరి విశ్లేషణ కోసం ట్యాబ్-వేరు చేయబడిన విలువ (TSV) ఆకృతిలో.
కుబెర్నెటెస్ వెబ్ వీక్షణ: అన్ని క్లస్టర్లలో "పెండింగ్లో ఉన్న" స్థితి కలిగిన పాడ్ల జాబితా
మీరు Kubernetes వెబ్ వీక్షణను ప్రయత్నించాలనుకుంటే, తనిఖీ చేయమని నేను సిఫార్సు చేస్తున్నాను డాక్యుమెంటేషన్ లేదా చూడండి ప్రత్యక్ష ప్రదర్శన.
అయితే, ఇంటర్ఫేస్ మెరుగ్గా ఉండవచ్చు, అయితే ప్రస్తుతానికి కుబెర్నెటెస్ వెబ్ వ్యూ అనేది "అధునాతన వినియోగదారుల" కోసం ఒక సాధనం, వారు అవసరమైతే URL మార్గాలను మాన్యువల్గా మార్చకుండా దూరంగా ఉంటారు. మీకు ఏవైనా వ్యాఖ్యలు/చేర్పులు/సూచనలు ఉంటే, దయచేసి సంప్రదించండి ట్విట్టర్లో నాతో!
ఈ కథనం కుబెర్నెటెస్ వెబ్ వీక్షణను రూపొందించడానికి దారితీసిన నేపథ్యం యొక్క సంక్షిప్త చరిత్ర. మరిన్ని అనుసరించబడతాయి! (గమనిక. అనువాదం.: వారు ఆశించబడాలి రచయిత బ్లాగు.)