我在 kubernetes 中有 3 個 pod,每個 pod 都有單獨的單個 docker 容器。每個 docker 容器都有自己的 express 應用程式。
- Pod 1 => Docker 容器 A
- Pod 2 => Docker 容器 B
- Pod 3 => Docker 容器 C
所有這 3 個 pod 通過 NATS 流服務器相互互動以用于發布/訂閱目的。
現在,我正在研究如何使用單個 Docker 容器 D 啟動另一個 pod。背景關系是,Docker 容器 A 將從客戶端接收代碼。我需要運行代碼并生成輸出。
我的思考程序是,當容器 A 收到請求時。
- 在 Kubernetes 中啟動另一個 pod。
- 啟動容器 D
- 運行代碼并生成輸出。
- 將輸出回傳到容器 D。
- 容器 A 將回應發回給用戶。
- 停止容器 D 及其 pod。
請讓我知道是否有更好的方法來實施這一行動方案。我不知道如何從不同的容器和不同的 pod 在 kubernetes 中啟動另一個 pod。
提前致謝!
uj5u.com熱心網友回復:
你需要“作業”種類。[https://kubernetes.io/docs/concepts/workloads/controllers/job/]
首先,我假設每 1 個作業需要 1 個行程。所以,
- Pod A 標記作業作為 JOB.1
- Pod A 使用引數創建 K8S 作業以在 NAT 中等待 JOB.1
- Pod A 將 JOB.1 發送到 NAT
一旦作業流程開始。它將拉 NAT 以獲取 JOB.1 待辦事項。如果完成,作業應該終止 ifself 一次。
但是,如果我設計服務。我更喜歡將容器 D 創建為作業池,它可以根據 CPU/記憶體使用情況使用 HPA 進行擴展。
希望這有幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/485716.html
標籤:码头工人 Kubernetes
