
- Kubernetes 教程 (jiàochéng)
- Kubernetes - 首頁 (shǒuyè)
- Kubernetes - 概述 (gàishù)
- Kubernetes - 架構 (jiàgòu)
- Kubernetes - 設定 (shèzhì)
- Kubernetes - 映象 (jìngxiàng)
- Kubernetes - 作業 (zuòyè)
- Kubernetes - 標籤與選擇器 (biāoqiān yǔ xuǎnzé qì)
- Kubernetes - 名稱空間 (mìngmíng kōngjiān)
- Kubernetes - 節點 (jiédǐan)
- Kubernetes - 服務 (fúwù)
- Kubernetes - Pod
- Kubernetes - 複製控制器 (fùzhì kòngzhì qì)
- Kubernetes - 副本集 (fùběn jí)
- Kubernetes - 部署 (bùshǔ)
- Kubernetes - 卷 (juǎn)
- Kubernetes - 金鑰 (mìyuè)
- Kubernetes - 網路策略 (wǎngluò cèlüè)
- 高階 Kubernetes (gāojí Kubernetes)
- Kubernetes - API
- Kubernetes - Kubectl
- Kubernetes - Kubectl 命令 (mìnglìng)
- Kubernetes - 建立應用程式 (chuàngjiàn yìngyòng chéngxù)
- Kubernetes - 應用程式部署 (yìngyòng chéngxù bùshǔ)
- Kubernetes - 自動伸縮 (zìdòng shēnsuō)
- Kubernetes - 儀表盤設定 (yíbiǎopán shèzhì)
- Kubernetes - 監控 (jiānkòng)
- Kubernetes 有用資源 (yǒuyòng zīyuán)
- Kubernetes - 快速指南 (kuàisù zhǐnǎn)
- Kubernetes - 有用資源 (yǒuyòng zīyuán)
- Kubernetes - 討論 (tǎolùn)
Kubernetes - 作業 (zuòyè)
作業的主要功能是建立一個或多個 Pod,並跟蹤 Pod 的成功情況。它們確保指定數量的 Pod 成功完成。當指定數量的 Pod 成功執行完成時,作業即被認為完成。
建立作業 (chuàngjiàn zuòyè)
使用以下命令建立作業:
apiVersion: v1 kind: Job ------------------------> 1 metadata: name: py spec: template: metadata name: py -------> 2 spec: containers: - name: py ------------------------> 3 image: python----------> 4 command: ["python", "SUCCESS"] restartPocliy: Never --------> 5
在上面的程式碼中,我們定義了:
kind: Job → 我們定義 kind 為 Job,這將告訴 kubectl 使用的 yaml 檔案用於建立作業型別的 Pod。
Name: py → 這是我們使用的模板名稱,spec 定義了模板。
name: py → 我們在容器規範下給出了名稱 py,這有助於識別將由此建立的 Pod。
Image: python → 我們將拉取的映象,用於建立將在 Pod 內執行的容器。
restartPolicy: Never → 此映象重啟條件設定為 Never,這意味著如果容器被終止或失敗,它將不會自行重啟。
我們將使用以下命令以及名為 py.yaml 儲存的 yaml 檔案來建立作業。
$ kubectl create –f py.yaml
上述命令將建立一個作業。如果要檢查作業的狀態,請使用以下命令。
$ kubectl describe jobs/py
上述命令將建立一個作業。如果要檢查作業的狀態,請使用以下命令。
定時作業 (dìngshí zuòyè)
Kubernetes 中的定時作業使用 Cronetes,它接收 Kubernetes 作業並在 Kubernetes 叢集中啟動它們。
- 排程作業將在指定的時間點執行 Pod。
- 為此建立一個週期性作業,它會自動呼叫自身。
注意 - 定時作業功能由 1.4 版本支援,透過在啟動 API 伺服器時傳遞 –runtime-config=batch/v2alpha1 來啟用 batch/v2alpha1 API。
我們將使用與建立作業相同的 yaml 檔案,並將其設定為定時作業。
apiVersion: v1 kind: Job metadata: name: py spec: schedule: h/30 * * * * ? -------------------> 1 template: metadata name: py spec: containers: - name: py image: python args: /bin/sh -------> 2 -c ps –eaf ------------> 3 restartPocliy: OnFailure
在上面的程式碼中,我們定義了:
schedule: h/30 * * * * ? → 將作業排程為每 30 分鐘執行一次。
/bin/sh: 這將使用 /bin/sh 進入容器。
ps –eaf → 將在機器上執行 ps -eaf 命令,並列出容器內所有正在執行的程序。
當我們嘗試在指定時間點構建和執行一組任務然後完成程序時,此定時作業概念非常有用。