k8s, Jobs, oneshot và song song

Tram Ho

  • Jobs được thiết kế để quản lý công việc một cách hàng loạt, nơi các pods có thể thực thi một hoặc nhiều.
  • Mặc định, jobs là được thực thi 1 pod cho đến khi thành công và chấm dứt.
  • Trong jobs, có 3 loại đơn giản đó là one-shot, paralleworkqueue, trong bài này mình sẽ nói đến one-shotparallel.

One-shot

  • One-shot là jobs cung cấp một phương thức để chạy duy nhất 1 pod cho đến khi thành công và kết thúc.
  • Trong ví dụ, mình sẽ deploy 1 pod ubuntu và echo ra dòng chữ hello, i am opendev.
  • oneshot.yaml

  • run câu lệnh:

  • kiểm tra xem jobs:

  • kiểm tra xem pods:

  • Sau khi pod run complete, mình kiểm tra xem log của pod có phải là hello, i am opendev không, nếu có log như vậy là thành công rồi.

Parallelism

  • Bây giờ có 1 usecase đòi hỏi thời gian xử lý lâu, và muốn tăng tốc độ xử lý lên thì có thể dùng parallel.
  • Mình sẽ chạy parallel 1 lần là 3 pod, chạy 3 lần với 9 pod hoàn thành.
  • parallel.yaml

  • Giải thích:
    • trong yaml cần thêm 2 thuộc tính trong spec: parallelism là số lượng pods thực hiện đồng thời, completions là số lượng pods cần phải hoàn thành.
  • run câu lệnh get pod


  • Kiểm tra job đã thực thi được bao nhiêu pod complete:

  • Mình đã demo đơn giản về jobs: oneshotparallel, có gì thắc mắc thì liên hệ mình hỗ trợ thêm.

Cảm ơn.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo