የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

K9 ሴ ከKubernetes ዘለላዎች ጋር ለመግባባት ተርሚናል የተጠቃሚ በይነገጽ ያቀርባል። የዚህ የክፍት ምንጭ ፕሮጀክት ግብ በK8s ውስጥ ያሉ መተግበሪያዎችን ማሰስ፣ መከታተል እና ማስተዳደር ቀላል ማድረግ ነው። K9s በ Kubernetes ውስጥ ለውጦችን በቋሚነት ይከታተላል እና ከተቆጣጠሩት ሀብቶች ጋር ለመስራት ፈጣን ትዕዛዞችን ይሰጣል።

ፕሮጀክቱ በGo የተፃፈ ሲሆን ከአንድ አመት ተኩል በላይ ሆኖታል፡የመጀመሪያው ቃል የተፈፀመው በፌብሩዋሪ 1, 2019 ነው። ይህ ጽሑፍ በሚጻፍበት ጊዜ 9000+ ኮከቦች አሉ። የፊልሙ እና ወደ 80 የሚጠጉ አበርካቾች። k9s ምን ማድረግ እንደሚችል እንይ?

መጫን እና ማስጀመር

ይህ ደንበኛ ነው (ከኩበርኔትስ ክላስተር ጋር በተያያዘ) እንደ ዶከር ምስል ለማሄድ በጣም ቀላል የሆነው፡

docker run --rm -it -v $KUBECONFIG:/root/.kube/config quay.io/derailed/k9s

ለአንዳንድ የሊኑክስ ስርጭቶች እና ሌሎች ኦፕሬቲንግ ሲስተሞች፣ ለመጫን ዝግጁ የሆኑም አሉ። ጥቅሎች. በአጠቃላይ፣ ለሊኑክስ ስርዓቶች፣ ሁለትዮሽ ፋይል መጫን ይችላሉ፡-

sudo wget -qO- https://github.com/derailed/k9s/releases/download/v0.22.0/k9s_Linux_x86_64.tar.gz | tar zxvf -  -C /tmp/
sudo mv /tmp/k9s /usr/local/bin

ለ K8s ክላስተር ራሱ ምንም ልዩ መስፈርቶች የሉም። በግምገማዎች በመመዘን አፕሊኬሽኑ እንዲሁ ከድሮ የ Kubernetes ስሪቶች እንደ 1.12 ጋር ይሰራል።

አፕሊኬሽኑ የተጀመረው መደበኛውን ውቅረት በመጠቀም ነው። .kube/config - እንዴት እንደሚሰራ kubectl.

ዳሰሳ

በነባሪ፣ ለአውድ በተገለጸው ነባሪ የስም ቦታ መስኮት ይከፈታል። ከጻፍክ ማለት ነው። kubectl config set-context --current --namespace=test, ከዚያ የስም ቦታው ይከፈታል test. (የአውድ/የስም ቦታዎችን ለመቀየር ከዚህ በታች ይመልከቱ።)

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

መሄድ የትእዛዝ ሁነታ ":" በመጫን ይከናወናል. ከዚያ በኋላ ትዕዛዞችን በመጠቀም የ k9 ዎችን አሠራር መቆጣጠር ይችላሉ - ለምሳሌ ፣ የ StatefulSets ዝርዝር ለማየት (በአሁኑ የስም ቦታ) ፣ ማስገባት ይችላሉ :sts.

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ለአንዳንድ ሌሎች የኩበርኔት ምንጮች፡-

  • :ns - የስም ቦታዎች;
  • :deploy - ማሰማራት;
  • :ing - ማስገቢያዎች;
  • :svc - አገልግሎቶች.

ለዕይታ የሚገኙትን የተሟላ የንብረት አይነቶች ዝርዝር ለማሳየት ትእዛዝ አለ። :aliases.

አሁን ባለው መስኮት ውስጥ በሙቅ የቁልፍ ቅንጅቶች የሚገኙትን የትእዛዞች ዝርዝር ለማየትም ምቹ ነው: ይህንን ለማድረግ "?" የሚለውን ብቻ ጠቅ ያድርጉ.

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

በ k9s ውስጥም አለ። የፍለጋ ሁነታ, ወደ "/" ለመግባት በቂ ወደሆነው ለመሄድ. በእሱ አማካኝነት, አሁን ባለው "መስኮት" ይዘት ላይ ፍለጋ ይከናወናል. ከዚህ ቀደም ገብተህ ከሆነ እንበል :ns፣ ክፍት የሆኑ የስም ቦታዎች ዝርዝር አለዎት። በጣም ብዙ ከሆኑ ፣ ከዚያ ለረጅም ጊዜ ላለመውረድ ፣ በመስኮቱ ውስጥ በስም ቦታዎች ውስጥ ማስገባት በቂ ነው ። /mynamespace.

በመለያዎች ለመፈለግ ሁሉንም ፖዶች በሚፈለገው የስም ቦታ መምረጥ ይችላሉ ከዚያም ያስገቡ ለምሳሌ፡- / -l app=whoami. ከዚህ መለያ ጋር የፖዳዎች ዝርዝር እናገኛለን፡-

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ፍለጋው በሁሉም ዓይነት መስኮቶች ውስጥ ይሰራል፣ ምዝግብ ማስታወሻዎችን ጨምሮ፣ የ YAML መግለጫዎችን መመልከት እና describe ለሃብቶች - በእነዚህ ባህሪያት ላይ ተጨማሪ ዝርዝሮችን ለማግኘት ከታች ይመልከቱ.

አጠቃላይ የአሰሳ ፍሰቱ ምን ይመስላል?

ትዕዛዙን በመጠቀም :ctx አውድ መምረጥ ትችላለህ፡-

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

የስም ቦታ ለመምረጥ ቀደም ሲል የተጠቀሰው ትዕዛዝ አለ :ns, እና ከዚያ ለሚፈለገው ቦታ ፍለጋውን መጠቀም ይችላሉ: /test.

የምንፈልገውን መርጃ አሁን ከመረጥን (ለምሳሌ ፣ ተመሳሳዩ StatefulSet) ፣ ተጓዳኝ መረጃው ለእሱ ይታያል-ምን ያህል ፖዶች ስለእነሱ አጭር መረጃ እየሮጡ ነው።

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ፖድ ብቻ ትኩረት ሊሰጠው ይችላል - ከዚያ ለመግባት በቂ ነው :pod. በ ConfigMaps ሁኔታ (:cm - ለእነዚህ ሀብቶች ዝርዝር) የፍላጎቱን ነገር መምረጥ እና "u" ላይ ጠቅ ማድረግ ይችላሉ ፣ ከዚያ በኋላ K9s ማን እንደሚጠቀም ይነግርዎታል (ይህ CM)።

ሀብቶችን ለማየት ሌላ ጠቃሚ ባህሪ የእነሱ ነው። "ኤክስሬይ" (ኤክስሬይ እይታ). ይህ ሁነታ በትእዛዙ ይጠራል :xray RESOURCE እና ... ከማብራራት ይልቅ እንዴት እንደሚሰራ ማሳየት ቀላል ነው። የStatefulSets ምሳሌ ይኸውና፡-

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ
(እያንዳንዱ እነዚህ ምንጮች ሊስተካከል፣ ሊለወጡ፣ ሊደረጉ ይችላሉ። describe.)

እና ከመግቢያ ጋር ማሰማራት እዚህ አለ፡-

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ከሃብቶች ጋር በመስራት ላይ

በ YAML ወይም በእሱ ውስጥ ስለ እያንዳንዱ ምንጭ መረጃ ማግኘት ይችላሉ። describe ተጓዳኝ የቁልፍ ሰሌዳ አቋራጮችን ("y" እና "d", በቅደም ተከተል) በመጫን. እርግጥ ነው, እንዲያውም ተጨማሪ መሠረታዊ ስራዎች አሉ: የእነሱ ዝርዝር እና የቁልፍ ሰሌዳ አቋራጮች ሁልጊዜም የሚታዩ ናቸው ምቹ "ራስጌ" በበይነገጽ (Ctrl + e ን በመጫን ተደብቋል).

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ማንኛውንም ሀብት ሲያርትዑ ("e" ከተመረጠ በኋላ) በአካባቢ ተለዋዋጮች ውስጥ የተገለጸው የጽሑፍ አርታኢ ይከፈታል (export EDITOR=vim).

እና የሀብቱ ዝርዝር መግለጫ ምን እንደሚመስል እነሆ (describe):

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ይህ ውፅዓት (ወይም የሀብቱን YAML አንጸባራቂ የማየት ውፅዓት) የሚታወቀው Ctrl + s የቁልፍ ሰሌዳ አቋራጭ በመጠቀም ሊቀመጥ ይችላል። የት እንደሚቀመጥ ከK9s መልእክት ይታወቃል፡-

Log /tmp/k9s-screens-root/kubernetes/Describe-1601244920104133900.yml saved successfully!

እንዲሁም የስርዓት መለያዎችን እና ማብራሪያዎችን ካስወገዱ በኋላ ከተፈጠሩት የመጠባበቂያ ፋይሎች ሃብቶችን ወደነበሩበት መመለስ ይችላሉ። ይህንን ለማድረግ ከነሱ ጋር ወደ ማውጫው መሄድ ያስፈልግዎታል (:dir /tmp), ከዚያም ተፈላጊውን ፋይል ይምረጡ እና ያመልክቱ apply.

በነገራችን ላይ በማንኛውም ጊዜ አሁን ባለው ችግር ላይ ችግሮች ካሉ ወደ ቀድሞው ReplicaSet መመለስ ይችላሉ። ይህንን ለማድረግ ተፈላጊውን RS ይምረጡ (:rs ለዝርዝራቸው፡-

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

... እና በ Ctrl + l ወደ ኋላ ይመለሱ። ሁሉም ነገር በጥሩ ሁኔታ እንደሄደ ማሳወቂያ ልንደርስ ይገባል፡-

k9s/whoami-5cfbdbb469 successfully rolled back

እና ቅጂዎቹን ለመለካት በቀላሉ “s” (ሚዛን) ላይ ጠቅ ያድርጉ እና የሚፈለጉትን የአብነት ብዛት ይምረጡ።

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ዛጎሉን በመጠቀም ማናቸውንም መያዣዎች ማስገባት ይችላሉ: ይህንን ለማድረግ ወደ ተፈላጊው ፖድ ይሂዱ, "s" (ሼል) ላይ ጠቅ ያድርጉ እና መያዣውን ይምረጡ.

ሌሎች ባህሪያት

እርግጥ ነው, የምዝግብ ማስታወሻዎችን መመልከትም ይደገፋል ("l" ለተመረጠው ሀብት). እና አዲስ ምዝግብ ማስታወሻዎችን ለመመልከት, አስገባን በተከታታይ መጫን አያስፈልግም: ("m") ምልክት ማድረግ በቂ ነው, እና ከዚያ አዲስ መልዕክቶችን ብቻ ይከታተሉ.

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

በተመሳሳይ መስኮት ውስጥ የምዝግብ ማስታወሻዎችን የሚወጣበትን ጊዜ መምረጥ ይችላሉ-

  • ቁልፍ "1" - ለ 1 ደቂቃ;
  • "2" - 5 ደቂቃዎች;
  • "3" - 15 ደቂቃዎች;
  • "4" - 30 ደቂቃዎች;
  • "5" - 1 ሰዓት;
  • "0" - ለፖድ ሙሉ የህይወት ዘመን.

ልዩ የክወና ሁነታ Pulse (ትእዛዝ :pulse) ስለ ኩበርኔትስ ክላስተር አጠቃላይ መረጃ ያሳያል፡-

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

በእሱ ውስጥ የንብረቶች ብዛት እና ደረጃቸውን ማየት ይችላሉ (አረንጓዴው ደረጃ ያላቸውን ያሳያል Running).

ሌላው የK9s አሪፍ ባህሪ ይባላል Popeye. ሁሉንም ሀብቶች ለተወሰኑ የትክክለኛነት መመዘኛዎች ይፈትሻል እና የተገኘውን "ደረጃ" ከማብራሪያ ጋር ያሳያል። ለምሳሌ ፣ በቂ ናሙናዎች ወይም ገደቦች እንደሌሉ ማየት ይችላሉ ፣ እና አንዳንድ ኮንቴይነሮች እንደ ስር ሊሠሩ ይችላሉ ...

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ለሄልም መሰረታዊ ድጋፍ አለ. ለምሳሌ፣ በክላስተር ውስጥ የተሰማሩትን ልቀቶች እንዴት ማየት እንደሚችሉ ነው፡-

:helm all # все
:helm $namespace # в конкретном пространстве имен

ካስማ

በK9s ውስጥ እንኳን ተገንብቷል። ሄይ ቀላል የኤችቲቲፒ አገልጋይ ሎድ ጀነሬተር ነው፣ የተሻለ ከሚታወቀው ab (ApacheBench) አማራጭ ነው።

እሱን ለማንቃት በፖድ ውስጥ ወደብ ወደፊት ማንቃት ያስፈልግዎታል። ይህንን ለማድረግ ፖድውን ይምረጡ እና Shift + f ን ይጫኑ, "pf" ተለዋጭ ስም በመጠቀም ወደ ወደብ-ወደፊት ንዑስ ምናሌ ይሂዱ.

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ወደቡን ከመረጡ በኋላ Ctrl + b ን ከተጫኑ በኋላ ቤንችማርክ ራሱ ይጀምራል። የሥራው ውጤት በ ውስጥ ተከማችቷል /tmp እና በኋላ ለማየት በK9s ይገኛሉ።

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ
የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

የቤንችማርክን ውቅር ለመለወጥ, ፋይል መፍጠር ያስፈልግዎታል $HOME/.k9s/bench-<my_context>.yml (ለእያንዳንዱ ክላስተር ተወስኗል).

ማሳሰቢያ፡ የሁሉንም YAML ፋይሎች በማውጫ ውስጥ ማራዘሙ አስፈላጊ ነው። .k9s በትክክል ነበር .yml (.yaml በትክክል አይሰራም).

የማዋቀር ምሳሌ፡-

benchmarks:
  defaults:
    # Количество потоков
    concurrency: 2
    # Количество запросов
    requests: 1000
  containers:
    # Настройки для контейнера с бенчмарком
    # Контейнер определяется как namespace/pod-name:container-name
    default/nginx:nginx:
      concurrency: 2
      requests: 10000
      http:
        path: /
        method: POST
        body:
          {"foo":"bar"}
        header:
          Accept:
            - text/html
          Content-Type:
            - application/json
 services:
    # Можно проводить бенчмарк на сервисах типа NodePort и LoadBalancer
    # Синтаксис: namespace/service-name
    default/nginx:
      concurrency: 5
      requests: 500
      http:
        method: GET
        path: /auth
      auth:
        user: flant
        password: s3cr3tp455w0rd

በይነገጽ

ለሀብቶች ዝርዝሮች የአምዶች ገጽታ የሚለወጠው ፋይል በመፍጠር ነው። $HOME/.k9s/views.yml. የይዘቱ ምሳሌ፡-

k9s:
 views:
   v1/pods:
     columns:
       - AGE
       - NAMESPACE
       - NAME
       - IP
       - NODE
       - STATUS
       - READY
   v1/services:
     columns:
       - AGE
       - NAMESPACE
       - NAME
       - TYPE
       - CLUSTER-IP

እውነት ነው, ለመለያዎች በቂ ዓምድ የለም, ለዚህም አለ በፕሮጀክቱ ውስጥ ጉዳይ.

በአምዶች መደርደር በቁልፍ ሰሌዳ አቋራጮች ይከናወናል፡-

  • Shift + n - በስም;
  • Shift + o - በአንጓዎች;
  • Shift + i - በአይፒ;
  • Shift + a - በመያዣው የህይወት ዘመን;
  • Shift + t - በዳግም ማስጀመሪያዎች ብዛት;
  • Shift + r - በዝግጁነት ሁኔታ;
  • Shift + c - በሲፒዩ ፍጆታ;
  • Shift + m - በማህደረ ትውስታ ፍጆታ.

አንድ ሰው ነባሪውን የቀለም መርሃ ግብር የማይወደው ከሆነ K9s እንኳን ይደግፋል ቆዳዎች. ዝግጁ የሆኑ ምሳሌዎች (7 ቁርጥራጮች) ይገኛሉ እዚህ. ከእነዚህ ቆዳዎች ውስጥ የአንዱ ምሳሌ እዚህ አለ። (በባህር ኃይል ውስጥ):

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ተሰኪዎች

በመጨረሻም ተሰኪዎች የ K9s ችሎታዎችን ለማስፋት ይፈቅድልዎታል. እኔ ራሴ በስራዬ ውስጥ ከመካከላቸው አንዱን ብቻ ነው የተጠቀምኩት - kubectl get all -n $namespace.

ይህን ይመስላል። ፋይል ይፍጠሩ $HOME/.k9s/plugin.yml እንደዚህ አይነት ይዘት ያለው፡-

plugin:
 get-all:
   shortCut: g    
   confirm: false    
   description: get all
   scopes:
   - all
   command: sh
   background: false
   args:
   - -c
   - "kubectl -n $NAMESPACE get all -o wide | less"

አሁን በሚከተለው ትዕዛዝ ለማስፈጸም ወደ የስም ቦታ ይሂዱ እና "g" ን ይጫኑ፡-

የ k9s አጠቃላይ እይታ - ለ Kubernetes የላቀ ተርሚናል በይነገጽ

ከተሰኪዎች መካከል ለምሳሌ ከ kubectl-jq ጋር ውህደቶች እና የምዝግብ ማስታወሻዎችን ለማየት መገልገያ አሉ የኋለኛ ክፍል.

መደምደሚያ

ለኔ ጣዕም፣ K9s አብሮ ለመስራት በጣም ምቹ ሆኖ ተገኘ፡ ሳይጠቀሙበት የሚፈልጉትን ሁሉ ለመፈለግ በፍጥነት መልመድ ይችላሉ። kubectl. የምዝግብ ማስታወሻዎች እይታ እና ቁጠባዎች ፣ የሀብት ፈጣን አርትዖት ፣ በአጠቃላይ የስራ ፍጥነት * ፣ የ Popeye ሁነታ ጠቃሚ ሆኖ በመገኘቱ ተደስቻለሁ። ልዩ መጠቀስ ፕለጊኖችን መፍጠር እና አፕሊኬሽኑን ከፍላጎትዎ ጋር በሚስማማ መልኩ ማስተካከል መቻል ነው።

* ምንም እንኳን በትልቅ የምዝግብ ማስታወሻዎች፣ የK9 ዎች ቀርፋፋ አሠራር አስተውያለሁ። በዚህ ጊዜ መገልገያው ከ Intel Xeon E2xx 312 ኮርዎችን "በላ" እና እንዲያውም በረዶ ሊሆን ይችላል.

በአሁኑ ጊዜ ምን የጎደለው ነገር አለ? ወደ ቀድሞው ስሪት በፍጥነት መመለስ (ስለ አርኤስ አናወራም) ወደ ማውጫው ሳንሄድ። በተጨማሪም ማገገም የሚከሰተው ለ ብቻ ነው ጠቅላላ resource: ማብራሪያን ወይም መለያን ከሰረዙ, ሙሉውን መርጃ መሰረዝ እና ወደነበረበት መመለስ አለብዎት (ይህ ወደ ማውጫው መሄድ ያለብዎት). ሌላ ትንሽ ነገር - ለእንደዚህ አይነት የተቀመጡ "ምትኬዎች" በቂ ቀን የለም.

PS

በብሎጋችን ላይ ያንብቡ፡-

ምንጭ: hab.com

አስተያየት ያክሉ