GNU/Linux >> Belajar Linux >  >> Linux

Cara Membaca Node di Kubernetes [Kiat K8 Cepat]

Kiat cepat Kubernetes ini membantu Anda mendapatkan detail tentang node pekerja Kubernetes dan cara membaca serta memahami outputnya.

Apa itu simpul Kubernetes?

Node adalah mesin pekerja (virtual/fisik) di Kubernetes tempat pod yang membawa aplikasi Anda berjalan. Layanan yang berjalan pada sebuah node termasuk Docker, kubelet dan kube-proxy.

Mencantumkan node yang tersedia di cluster Kubernetes Anda

Cara termudah untuk melihat node yang tersedia adalah dengan menggunakan perintah kubectl dengan cara ini:

kubectl get nodes

Ini akan menunjukkan kepada Anda semua node di cluster Anda secara sekilas. Anda dapat melihat status, peran, usia, dan versi setiap node.

[email protected]:~# kubectl get nodes
NAME          STATUS   ROLES    AGE   VERSION
kmaster-rj    Ready    master   39d   v1.18.8
kworker-rj1   Ready    <none>   39d   v1.18.8
kworker-rj2   Ready    <none>   39d   v1.18.8
[email protected]:~#

Seperti yang Anda lihat, kedua node pekerja dalam keadaan siap.

Untuk melihat output yang lebih detail, jalankan perintah berikut, Anda dapat menambahkan -o wide pilihan seperti ini:

kubectl get nodes -o wide

Sekarang Anda akan melihat detail tambahan seperti IP internal dan eksternal, image container, versi kernel, dan waktu proses untuk container.

[email protected]:~# kubectl get nodes -o wide
NAME          STATUS   ROLES    AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME
kmaster-rj    Ready    master   39d   v1.18.8   172.42.42.200   <none>        Ubuntu 18.04.5 LTS   4.15.0-101-generic   docker://19.3.6
kworker-rj1   Ready    <none>   39d   v1.18.8   172.42.42.201   <none>        Ubuntu 18.04.4 LTS   4.15.0-101-generic   docker://19.3.6
kworker-rj2   Ready    <none>   39d   v1.18.8   172.42.42.202   <none>        Ubuntu 18.04.5 LTS   4.15.0-101-generic   docker://19.3.6

Mari kita masuk lebih dalam dan mengetahui lebih banyak tentang node tertentu.

Mendeskripsikan sebuah node untuk lebih jelasnya

Jika Anda menginginkan informasi rinci tentang node tertentu, Anda dapat menggunakan kubectl describe perintah dengan nama simpul:

kubectl describe nodes worker-node-name

Berikut ini contoh keluarannya:

[email protected]:~# kubectl describe nodes kworker-rj1
Name:               kworker-rj1
Roles:              <none>
Labels:             app=front-end
                    beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=kworker-rj1
                    kubernetes.io/os=linux
                    size=medium
Annotations:        kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
                    node.alpha.kubernetes.io/ttl: 0
                    projectcalico.org/IPv4Address: 172.42.42.201/24
                    projectcalico.org/IPv4IPIPTunnelAddr: 172.16.213.0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Sun, 02 Aug 2020 15:42:32 +0000
Taints:             app=front-end:NoExecute
Unschedulable:      false
Lease:
  HolderIdentity:  kworker-rj1
  AcquireTime:     <unset>
  RenewTime:       Fri, 11 Sep 2020 07:09:51 +0000
Conditions:
  Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   False   Fri, 11 Sep 2020 02:57:12 +0000   Fri, 11 Sep 2020 02:57:12 +0000   CalicoIsUp                   Calico is running on this node
  MemoryPressure       False   Fri, 11 Sep 2020 07:06:56 +0000   Fri, 28 Aug 2020 06:33:29 +0000   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure         False   Fri, 11 Sep 2020 07:06:56 +0000   Fri, 28 Aug 2020 06:33:29 +0000   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure          False   Fri, 11 Sep 2020 07:06:56 +0000   Fri, 28 Aug 2020 06:33:29 +0000   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready                True    Fri, 11 Sep 2020 07:06:56 +0000   Fri, 11 Sep 2020 02:56:03 +0000   KubeletReady                 kubelet is posting ready status. AppArmor enabled
Addresses:
  InternalIP:  172.42.42.201
  Hostname:    kworker-rj1
Capacity:
  cpu:                2
  ephemeral-storage:  64800356Ki
  hugepages-2Mi:      0
  memory:             2040812Ki
  pods:               110
Allocatable:
  cpu:                2
  ephemeral-storage:  59720007991
  hugepages-2Mi:      0
  memory:             1938412Ki
  pods:               110
System Info:
  Machine ID:                 c7dbeba40d7b45a387082c96df6cc554
  System UUID:                595C28CA-DBBF-304D-8C5A-7862AA0A60E5
  Boot ID:                    306f36e0-ded3-4b45-946a-89509f845c21
  Kernel Version:             4.15.0-101-generic
  OS Image:                   Ubuntu 18.04.4 LTS
  Operating System:           linux
  Architecture:               amd64
  Container Runtime Version:  docker://19.3.6
  Kubelet Version:            v1.18.8
  Kube-Proxy Version:         v1.18.8
Non-terminated Pods:          (5 in total)
  Namespace                   Name                                    CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                   ----                                    ------------  ----------  ---------------  -------------  ---
  default                     toleration-demo-dep-54f9ff64b9-7zcrn    0 (0%)        0 (0%)      0 (0%)           0 (0%)         4h9m
  default                     toleration-demo-dep-54f9ff64b9-9sldm    0 (0%)        0 (0%)      0 (0%)           0 (0%)         4h9m
  default                     toleration-demo-dep-54f9ff64b9-rgh7z    0 (0%)        0 (0%)      0 (0%)           0 (0%)         4h9m
  kube-system                 calico-node-2jlhm                       250m (12%)    0 (0%)      0 (0%)           0 (0%)         39d
  kube-system                 kube-proxy-54894                        0 (0%)        0 (0%)      0 (0%)           0 (0%)         22d
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests    Limits
  --------           --------    ------
  cpu                250m (12%)  0 (0%)
  memory             0 (0%)      0 (0%)
  ephemeral-storage  0 (0%)      0 (0%)
  hugepages-2Mi      0 (0%)      0 (0%)
Events:              <none>

Itu banyak informasi. Apa yang penting bagi Anda?

  • Sebagian besar informasi bersifat informasi mengenai IP sistem, nama host, sumber daya (CPU, GPU, memori) dan informasi versi (OS, Docker, Kubernetes).
  • layanan kubelet status.
  • Tidak dapat dijadwalkan parameter.
  • Kondisi bagian dapat menunjukkan apakah ada masalah sumber daya sistem yang akan mempengaruhi berjalannya aplikasi. Misalnya, jika salah satu OutOfDisk , Tekanan Memori , atau DiskPressure kondisi Benar, sumber daya sistem tidak mencukupi untuk melayani beban kerja lebih lanjut.
  • Acara bagian akhirnya juga akan memiliki pesan yang dapat menunjukkan jika ada masalah dengan lingkungan.

Semoga Anda menyukai tip cepat Kubernetes ini. Tetap disini dan jangan lupa untuk berlangganan lebih banyak lagi.

Rakesh Jain
DevOps Profesional | RHCA | Jenkins | Git | buruh pelabuhan | Kubernet | Mungkin | Prometheus | Grafana | AWS Cloud

Linux
  1. Cara Membersihkan Versi Snap Package di Linux [Kiat Singkat]

  2. Cara Menyinkronkan Subtitle Dengan Film [Kiat Singkat]

  3. Cara Menghapus Pengguna Dari Grup di Linux [Kiat Singkat]

  1. Cara Menginstal Curl di Ubuntu [Kiat Singkat]

  2. Cara Menemukan Panjang String di Bash [Kiat Singkat]

  3. Cara Menghapus Pod di Kubernetes [Tips Cepat K8s]

  1. Cara Menghapus Deployment Kubernetes [Tips Cepat K8s]

  2. Cara Memulai Ulang Pod di Kubernetes [Kiat Cepat K8s]

  3. Cara Menambahkan atau Menghapus Label ke Node di Kubernetes