kubernetes探針配置


1.LivenessProbe(存活檢查)

    LivenessProbe:表示container是否處於live狀態。如果 LivenessProbe失敗,LivenessProbe將會通知kubelet對應的container不健康了。隨后kubelet將kill掉 container,並根據
RestarPolicy進行進一步的操作。默認情況下LivenessProbe在第一次檢測之前初始化值為 Success,如果container沒有提供LivenessProbe,則也認為是Success;

 

2.ReadinessProbe(就緒檢查)

    ReadinessProbe:表示container是否以及處於可接受service請求的狀態了。如 果ReadinessProbe失敗,endpoints controller將會從service所匹配到的endpoint列表中移除關於這個
container的IP地址。因此對於Service匹配到的 endpoint的維護其核心是ReadinessProbe。默認Readiness的初始值是Failure,如果一個container沒有提供 Readiness則被認為是Success

 

3.參數詳解 

對於LivenessProbe和ReadinessProbe用法都一樣,擁有相同的參數和相同的監測方式。【檢查流程如下】

1)HTTP探針在httpGet上的配置項:
#host:主機名,默認為pod的IP。
#httpHeaders【HTTP頭】:在HTTP請求中設置的自定義標頭。 HTTP允許重復的請求頭。
path【路徑】:探針的路徑。
port【端口】:端口的名稱或編號。數字必須在1到65535的范圍內。
scheme【協議】:用於連接主機的方案(HTTP或HTTPS)。默認為HTTP。

2)initialDelaySeconds【延遲探測時間(秒)】:用來表示初始化延遲的時間,也就是告訴監測從多久之后開始運行,單位是秒 

3)periodSeconds【執行探測頻率(秒)】:監測開始后,每隔10秒執行一次 路徑(健康檢測頁面) 監測。 

4)timeoutSeconds【超時時間(秒)】: 用來表示監測的超時時間,如果超過這個時長后,則認為監測失敗(若監測路徑1秒后沒有返回,則認為超時) 

5)failureThreshold【不健康伐值】:當Pod成功啟動且檢查失敗且連續達到設定次數時,放棄生存檢查意味着重新啟動Pod。(放棄就緒檢查,Pod將被標記為未就緒。 默認為3.最小值為1) 

6)successThreshold【健康伐值】:失敗后檢查成功的最小連續成功次數。默認為1.活躍度必須為1。最小值為1。即監測路徑健康后完成本次檢查。 

 

4.阿里雲web端設置

存活檢查

 

 
         

 就緒檢查

 

5.yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: beta-es-provider-course
    appname: dev-es-provider-course
    env: beta
  name: beta-es-provider-course
  namespace: beta-es
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: beta-es-provider-course
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: beta-es-provider-course
        appname: beta-es-provider-course
        env: beta
    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - preference:
                matchExpressions:
                  - key: env-beta
                    operator: In
                    values:
                      - beta
              weight: 80
            - preference:
                matchExpressions:
                  - key: env-alpha
                    operator: In
                    values:
                      - alpha
              weight: 20
      containers:
        - image: >-
            registry.aliyuncs.com/wx-k8s/es-provider-course:beta-es-provider-course-latest
          imagePullPolicy: Always
          lifecycle:
            postStart:
              exec:
                command:
                  - /bin/sh
                  - '-c'
                  - >-
                    mkdir -p /home/mount/${HOSTNAME} && ln -s 
                    /home/mount/${HOSTNAME} 
                    /home/wx/services/es-provider-course/logs
 livenessProbe: failureThreshold: 5 httpGet: path: /actuator/health port: 7005 scheme: HTTP initialDelaySeconds: 300 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1
          name: beta-es-provider-course
          ports:
            - containerPort: 7005
              name: http
              protocol: TCP
 readinessProbe: failureThreshold: 5 httpGet: path: /actuator/health port: 7005 scheme: HTTP initialDelaySeconds: 300 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1
          resources:
            limits:
              cpu: '1'
              memory: 600Mi
            requests:
              cpu: 10m
              memory: 600Mi
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: /home/mount
              name: volume-service-dir
            - mountPath: /etc/localtime
              name: volume-localtime
      dnsPolicy: ClusterFirst
      imagePullSecrets:
        - name: pull-image
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
        - hostPath:
            path: /home/wx/services/beta/es-provider-course
            type: ''
          name: volume-service-dir
        - hostPath:
            path: /etc/localtime
            type: ''
          name: volume-localtime

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM