برنامه نویسی

15+ دستورات Crictl با خروجی | اشکال زدایی گره های Kubernetes

انگیزه: چرا باید Crictl را یاد بگیریم؟

  • زمان اجرا کانتینر بومی Kubernetes است containerdبشر
  • Crictl (رابط کاربری خط فرمان خطوط خطی کانتینر) یک ابزار CLI برای تعامل با کانتینر زمان در خوشه های Kubernetes است.
  • برای اشکال زدایی ، برای حل مشکل ، برای بازرسی از غلاف ها ، ظروف موجود در گره K8S Worker ، یادگیری مفید است:

کانتین

کانتین یک کانتینر با سطح استاندارد و استاندارد صنعت است که چرخه حیات ظروف را مدیریت می کند. این یک پروژه منبع باز تحت بنیاد محاسبات بومی Cloud (CNCF) است و عملکردهای اساسی مورد نیاز برای سیستم های ارکستراسیون کانتینر را ارائه می دهد ، از جمله:

  • مدیریت تصویر (کشیدن و فشار تصاویر کانتینر).
  • اجرای کانتینر (شروع ، توقف و مدیریت ظروف در حال اجرا).
  • ذخیره سازی (رسیدگی به سیستم های فایل کانتینر).
  • شبکه سازی (ارائه پشتیبانی شبکه برای ظروف).

چگونه می توان روی گره Kubernetes اجرا کرد؟

user@k8s:$ crictl           
# to check before installs, it can be installed before
user@k8s:$ VERSION="v1.31.1"                                              
# desired version

user@k8s:$ wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz
user@k8s:$ sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
user@k8s:$ rm -f crictl-$VERSION-linux-amd64.tar.gz

user@k8s:$ containerd      
# to check whether containerd runs

user@k8s:$ sudo nano /etc/crictl.yaml                                  
# on K8s node
# copy followings in it:
runtime-endpoint: unix:///var/run/containerd/containerd.sock
image-endpoint: unix:///var/run/containerd/containerd.sock
timeout: 10
debug: true
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

دستورات کرچل

دستورات مهم به شرح زیر ذکر شده است:

اطلاعات کریکل

  • اطلاعات زمان اجرا را بررسی می کند.
user@k8s:$ crictl info
{
  "status": {
   ....
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

crictl ps

  • این لیست ظروف در حال اجرا است.
user@k8s:$ crictl ps 
user@k8s:$ crictl ps -a 
# shows all containers, including stopped ones
CONTAINER  IMAGE    CREATE    STATE     NAME     ATTEMPT  POD ID    POD
603c2      c736ea  2mins ago  Running  kube-proxy    2      5237   kube-proxy-6d
user@k8s:$ crictl ps --name   
# filters by container name 
user@k8s:$ crictl ps --pod    
# filters containers by pod
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

غلافهای کریکت

user@k8s:$ crictl pods 
user@k8s:$ crictl pods -a               
# shows all pods, including exited ones 
user@k8s:$ crictl pods --name                     
# filters pods by name 
user@k8s:$ crictl pods --state              
# filters pods by state (e.g., `READY`, `NOTREADY`)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تصاویر کرچل

  • تصاویر موجود را لیست می کند
user@k8s:$ crictl images 
IMAGE                        TAG       IMAGE ID             SIZE
docker.io/calico/cni        v3.29.1   9dee260ef7f59        93.4MB
docker.io/calico/node       v3.29.1   8065b798a4d67        86.6MB
docker.io/library/busybox   latest    517b897a6a831        2.17MB
user@k8s:$ crictl images -q                   
# shows only image IDs
sha256:9dee260ef7f591241
sha256:8065b798a4d67147
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

crictl بازرسی

  • این یک ظرف خاص را بازرسی می کند.
user@k8s:$ crictl inspect  
user@k8s:$ crictl inspect --output json  
user@k8s:$ crictl inspect --output json 84a
# outputs in JSON format
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Crictl بازرسی

  • این یک غلاف خاص را بازرسی می کند.
user@k8s:$ crictl inspectp  
user@k8s:$ crictl inspectp --output json  
# outputs in JSON format
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

بازرسی کریکل

user@k8s:$ crictl inspecti 
# outputs in JSON format
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

crictl ایجاد

  • ابتدا فایل پیکربندی POD را برای ایجاد ماسهبازی POD ایجاد کنید.
user@k8s:$ cat sandbox-config.json
{    
       "metadata": {
               "name": "nginx-sandbox",
               "namespace": "default", 
               "attempt": 1,        
               "uid": "hdiabcd83djaidwnduwk28bcs"
        }, 
       "linux": {
        }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • سپس ، ماسه ماسه ای POD ایجاد کنید.
user@k8s:$ crictl runp sandbox-config.json
9dd36b72d2fa3d4af8ba98d5f7812577fc175a37b10dc82
user@k8s:$ crictl pods
PODSANDBOXID  CREATED   STATE    NAME        NAMESPACE    ATTEMPT 
9dd36b        1min ago  READY  nginx-sandbox  default        1
user@k8s:$ crictl inspectp 9dd3  
# displays information about the pod and the pod sandbox pause container.
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • سوم ، برای ایجاد کانتینر فایل پیکربندی کانتینر را ایجاد کنید
user@k8s:$ cat container-config.json
{  
       "metadata": {
              "name": "busybox"
        }, 
       "image":{
             "image": "busybox"
        },
       "command": [
              "top"  
       ],  
      "linux": { 
       }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • سپس یک ظرف را در یک غلاف ایجاد کنید
user@k8s:$ crictl create 9dd3 container-config.json sandbox-config.json
6a3850bb7ed37f2acaaeaee07d2ba143ee4cea7e3
user@k8s:$  crictl ps -a
CONTAINERID  IMAGE     CREATED     STATE      NAME        ATTEMPT            
6a385       busybox   2 mins ago   CREATED    busybox        0
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شروع کریتل

user@k8s:$ crictl start 6a3850bb7ed37f2acaaeaee07d2ba143ee4cea7e3
user@k8s:$ crictl ps
CONTAINERID   IMAGE     CREATED    STATE       NAME        ATTEMPT
0a2c7613     busybox   1 min ago   RUNNING    busybox         0        
user@k8s:$ crictl inspect 6a385  
# show detailed information about the container
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

توقف کریکل

user@k8s:$ crictl stop  
user@k8s:$ crictl stop  --timeout 30 
# stops container with a timeout in seconds
user@k8s:$ crictl stop 6a3
DEBU[0000] get runtime connection
6a3
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

crictl rm

user@k8s:$ crictl rm 
# container removed
user@k8s:$ crictl rm 6a3
DEBU[0000] get runtime connection
6a3
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

کشش کریک

  • تصویری را از یک رجیستری بیرون می کشد
user@k8s:$ crictl pull  
user@k8s:$ crictl pull : 
# pulls a specific tag of an image
user@k8s:$ crictl pull busybox
Image is up to date for sha256:517b897a6a8312ce202a85c
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

crictl rmi

user@k8s:$ crictl rmi  
user@k8s:$ crictl rmi  
# removes image by name instead of ID
user@k8s:$ crictl rmi 517
DEBU[0000] get image connection
DEBU[0000] User specified image to be removed: 517
Deleted: docker.io/library/busybox:latest
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

توقف کریکل

  • یک غلاف و ظروف آن را متوقف می کند
user@k8s:$ crictl stopp 
user@k8s:$ crictl stopp 9d7
DEBU[0000] get runtime connection
Stopped sandbox 9d7
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

crictl rmp

user@k8s:$ crictl rmp 
user@k8s:$ Removed sandbox b00
DEBU[0000] get runtime connection
Removed sandbox b00
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سیاهههای سیاه

user@k8s:$ crictl logs  
user@k8s:$ crictl logs -f  
# follows logs in real-time 
user@k8s:$ crictl logs --tail 10  
# shows last 10 log lines
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آمار کریکت

  • آمار کانتینر را نشان می دهد
user@k8s:$ crictl stats 
CONTAINER        CPU      % MEM      DISK       INODES
0a2c761303163f   0.00     983kB     16.38kB       6
user@k8s:$ crictl stats  
# shows stats for a specific container
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

کریکل ​​اعدام

  • این فرمان را در داخل یک ظرف اجرا می کند
user@k8s:$ crictl exec  <command> 
user@k8s:$ crictl exec -it  <command> 
# interactive mode with a TTY
user@k8s:$ crictl exec -i -t 0a2c ls
bin   dev   etc   home  proc  root  sys   tmp   usr   var
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پایان

دستورات Crictl CLI در حالی که اشکال زدایی در گره های K8S قابل توجه است. Mastering Commands کنترل بیشتری بر عملیات و عیب یابی فراهم می کند.

اگر این آموزش را جالب دیدید ، دوست دارم نظرات شما را در نظرات پست وبلاگ بشنوم. احساس راحتی کنید که واکنش های خود را به اشتراک بگذارید یا نظر خود را ترک کنید. من واقعاً برای ورودی و درگیری شما ارزش قائل هستم

برای پست های دیگر 👉 https://dev.to/omerberatsezer

برای نکات ، آموزش ها ، آزمایشگاه های دستی برای AWS ، Kubernetes ، Docker ، Linux ، DevOps ، Ansible ، Learning Machine ، AI تولیدی دنبال کنید.

https://github.com/omerbsezer/
https://www.linkedin.com/in/omerberatsezer/

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا