kubernetes-Pod

yaml文件字段

  • kubectl explain --help
  • kubectl explain pods.spec.containers

yaml模板

獲取

kubectl run xx --image=nginx --generator=run-pod/v1 --dry-run -o yaml > pod.yaml

#--generator=run-pod/v1指的是創(chuàng)建的pod
#--dry-run是模擬運行
#-o yaml指的是以yaml格式輸出

標準模板示例

# api版本
apiVersion: v1
# 類型,當前為pod
kind: Pod
# 該模板元數(shù)據(jù)
metadata:
# pod標簽定義
  labels:
    run: xx
  # pod名字
  name: xx
# pod規(guī)格定義
spec:
  # 定義容器
  containers:
  # 定義容器的鏡像
  - image: nginx
    # 定義容器的鏡像下載策略
    imagePullPolicy: IfNotPresent
    # 定義容器的名稱
    name: xx
    # 定義容器的資源
    resources: {}
  # pod的dns策略
  dnsPolicy: ClusterFirst
  # pod的重啟策略
  restartPolicy: Always

鏡像下載策略

  • Always 不管本地有沒有該鏡像,每次都要重新下載
  • Nerver 只是用本地鏡像,不會去下載
  • IfNotPresent 本地沒有的時候才會下載

常用命令

進入pod執(zhí)行交互命令

進入名稱為web的pod執(zhí)行命令

kubectl exec web -it bash

進入名稱為web的pod中名稱為weby的container中執(zhí)行命令

kubectl exec web -c weby -it bash

查看pod的屬性

kubectl describe pod web

查看pod日志

查看名稱為web的pod的日志

kubectl logs web

實時查看名稱為web的pod中名稱為weby的container的日志

kubectl logs -f web -c weby

刪除pod

通過名稱刪除

kubectl delete pod web

通過yaml文件刪除

kubectl delete -f web.yaml

容器初始化

某些pod在創(chuàng)建時可以先初始化

查看字段

kubectl explain pod.spec.initContainers

小例子

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  volumes:
    - name: workdir
      emptyDir: {}
  containers:
    - name: podx
      image: nginx
      volumeMounts:
      - name: workdir
        mountPath: "/xx"
  initContainers:
    - name: poda
      image: busybox
      command: ['sh','-c','touch /work-dir/aa.txt']
      volumeMounts:
      - name: workdir
        mountPath: "/work-dir"

下一篇 -- Node

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容