1. 程式人生 > 其它 >Deployment.yaml配置檔案剖析

Deployment.yaml配置檔案剖析

Deployment.yaml 配置檔案剖析

apiVersion: extensions/v1beta1 # 指定api的版本,此值必須在kubectl api-versions中,以“組/版本”的格式
kind: Deployment # 指定建立資源的角色/型別
metadata: # 資源的元資料
  annotations: # 資源帶上註解
    deployment.kubernetes.io/revision: 1
  labels: # 指定資源的標籤
    app: blackbox-exporter
  name: blackbox-exporter # 資源的名字
  namespace: kube-system # 資源的名稱空間
spec: # Deployemnt的規格說明
  replicas: 1 # 宣告副本數量,預設是1
  selector: # 選擇器
    matchLabels: # 標籤選擇器,匹配標籤
      app: blackbox-exporter
  template: #  定義pod的模板
    metadata: # 定義pod的元資料,至少要定義一個label
      labels:
        app: blackbox-exporter
    spec: # 描述pod的規格
      volumes: # 定義資料卷
      - name: config
        configMap: # 此種卷的型別是configMap
          name: blackbox-exporter # configMap的名字是blackbox-exporter
          defaultMode: 420
      containers:
      - name: blackbox-exporter
        image: harbor.od.com/public/blackbox-exporter:v0.15.1
        imagePullPolicy: Always # 拉取映象的策略
        args: # 啟動引數
        - --config.file=/etc/blackbox_exporter/blackbox.yaml
        - --log.level=info
        - --web.listen-address=:9115
        ports:
        - containerPort: 9115 # 容器裡面的起的埠
          name: blackbox-port
          protocol: TCP
        resources: # 資源閒置
          limits: # 限制,當容器的cpu或者記憶體達到限制,就容器oom
            cpu: 200m # cpu是0.2核
            memory: 256Mi # 記憶體是256Mi
          requests: 
            cpu: 100m # 容器起來的時候要求的cpu核數,1000m是1核,100m是0.1核
            memory: 50Mi # 50Mi是記憶體
        volumeMounts: # 資料卷的掛在
        - name: config # 引用上面volumes提到的configMap型別的卷
          mountPath: /etc/blackbox_exporter      # 掛載到容器內的路徑   
        readinessProbe: # 就緒性探針,裡面的條件滿足了才會認為pod被拉起來了
          tcpSocket:
            port: 9115
          initialDelaySeconds: 5
          timeoutSeconds: 5
          periodSeconds: 10
          successThreshold: 1
          failureThreshold: 3