Kubernetes CKA課程筆記 50
Add Sidecar Container:
首先從之前課程中製作的deployment元件:nginx-deployment的yaml檔著手
編輯內容:
如上圖,在containers這個list區塊
再增加一個container name,使用busybox image
來作為sidecar container使用
(如上我不看內容根本無法區別哪個是Main或sidecar,所以應該是看任務決定)
並且sidecar會與Main Container一同運行
所以其內Process最好設計為週期性執行(就像上面持續地echo訊息)
並且其實也可以改為如下args形式(詳46篇解說)
這邊就先維持都放在command內:
先移除舊的deployment元件,重新建立:
然後當然就是要確認sidecar有沒有出現:
接著就是要看看裡面的sidecar container有沒有做事,執行:
kubectl logs {Pod name}
這時候要再指定要看log的Container,所以指令改為:
kubectl logs {Pod name} -c {指定的Container名稱}
以上就是Sidecar Container簡單範例!
Add Init Container:
同樣地再次編輯nginx-deployment.yaml檔案來加入Init Container
編輯好後重建deployment元件,並確認Pod狀態:
持續地觀察,init container仍無法完成Job:
所以就要來確認裡面的log,與前面sidecar同樣方式執行:
kubectl logs {Pod name} -c {指定的Container,init container也可以}
放大log來看:
內容顯示nslookup找不到mydb-service的服務
要修正則很簡單,就是先建一個service元件,首先確認指令執行:
kubectl create service --help
所以最後建立指令為:
kubectl create service clusterip {service名稱} --tcp={service的PORT}:{目標Pod使用的PORT}
最終確認Pod狀態得到:
至此完成了這個Init Container的範例!