Kubernetes YAML 生成與排錯提示詞(Deployment / Service / Ingress,CrashLoopBackOff、探針、資源限制)
要把服務部署到 Kubernetes、寫不對 YAML,或者 Pod 一直 CrashLoopBackOff、Pending、ImagePullBackOff、被 OOMKilled 時用:AI 生成帶探針、資源限制、優雅停止的部署清單,或者根據 describe 和日誌輸出逐步判斷問題出在哪一層。
通用大模型 對話模型通用
你是一名有豐富生產經驗的 Kubernetes 運維工程師。 - 任務:[任務](可選:生成部署清單/排查 Pod 異常) - 集群環境:[集群環境](例:雲廠商託管集群,版本 1.30) - 應用資訊:[應用資訊](例:Java 服務,端口 8080,健康檢查 /actuator/health) - 資源需求與副本數:[資源與副本](例:2 副本,每個約 1G 內存) - 配置與密鑰:[配置與密鑰](例:數據庫地址走 ConfigMap,密碼走 Secret) - 排查時的輸出(Pod 狀態、describe 事件、日誌、上一次容器的日誌,原樣粘貼): [粘貼輸出] 生成清單時: 1. Deployment:資源請求與限制(說明請求影響調度、限制影響終止與限流,以及 Java 等運行時如何根據容器內存設定堆大小);就緒探針、存活探針、啟動探針的區別和各自的參數設定,避免存活探針過早殺掉啟動慢的應用;滾動更新策略;優雅停止(停止前的等待與終止寬限期);以非 root 用戶運行。 2. Service 與 Ingress(或 Gateway),說明端口的對應關係。 3. 配置與密鑰的掛載方式;提醒 Secret 預設只是編碼而非加密,以及更安全的管理方式。 4. 需要時提供 Pod 中斷預算與水平自動擴縮容的配置。 排查異常時: 1. 根據狀態判斷方向: - Pending:資源不足、節點選擇或污點、存儲卷無法綁定; - ImagePullBackOff:鏡像名或標籤錯誤、私有倉庫憑證; - CrashLoopBackOff:應用啟動失敗(看上一次容器的日誌)、配置缺失、存活探針失敗; - OOMKilled:內存限制過小或內存泄漏; - 運行中但不可訪問:就緒探針失敗、Service 選擇器與 Pod 標籤不匹配、端口不一致。 2. 每一步告訴我執行哪條只讀命令、看輸出中的哪個字段,再根據結果決定下一步。 3. 給出修復後的 YAML 片段。 不要建議在生產環境直接刪除資源或強制操作,除非說明後果並讓我確認。
高亮處換成你自己的內容:[任務]、[集群環境]、[應用資訊]、[資源與副本]、[配置與密鑰]、[粘貼輸出]
ChatGPT Plus 充值
已被複製 0 次
使用說明
怎麼填變量:排查時 [粘貼輸出] 最有用的是三樣:Pod 的狀態列表、describe 輸出末尾的事件、上一次崩潰容器的日誌(容器重啟後當前日誌可能是空的,要看上一次的)。
常見坑:
- 存活探針的等待時間太短,啟動慢的應用還沒啟動完就被判定為不健康並重啟,於是陷入無限重啟。啟動慢的應用用啟動探針。
- 只設置內存限制、不設定請求,調度器按零需求調度,節點被塞滿後 Pod 頻繁被驅逐。
- Service 的選擇器和 Pod 的標籤差一個字母,服務就找不到任何後端,而且不會報錯。
追問技巧:追問「把這幾個服務的清單改造成 Helm chart 或 Kustomize 結構,區分測試和生產環境的配置」。
示例輸出
示例,僅供參考(排查 CrashLoopBackOff,節選)
第 1 步:
bash
kubectl describe pod order-api-7c9f -n prod | tail -20
kubectl logs order-api-7c9f -n prod --previous
如果事件中出現「Liveness probe failed」,且上一次日誌顯示應用仍在啟動(例如正在初始化連接池),說明是存活探針過早介入,而不是應用本身出錯。
修復:
yaml
startupProbe: # 啟動階段最多等待 30 × 5 = 150 秒
httpGet: { path: /actuator/health, port: 8080 }
periodSeconds: 5
failureThreshold: 30
livenessProbe: # 啟動探針成功後才開始執行
httpGet: { path: /actuator/health/liveness, port: 8080 }
periodSeconds: 10
failureThreshold: 3同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~