(資料圖)
在Kubernetes中使用存活性探針?lè)浅:?jiǎn)單。只需在容器規(guī)格中添加livenessProbe字段,然后指定探針的類型、檢查頻率、超時(shí)時(shí)間等參數(shù)即可。以下是一個(gè)使用HTTP存活性探針的示例:
apiVersion: v1kind: Podmetadata: name: my-podspec: containers: - name: my-container image: my-image livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 5 periodSeconds: 10
在上面的示例中,我們?cè)谌萜饕?guī)格中添加了一個(gè)名為my-container的容器,并指定了一個(gè)HTTP存活性探針。探針將每10秒鐘發(fā)送一個(gè)HTTP GET請(qǐng)求到容器的端口8080,并期望獲得響應(yīng)代碼200。如果探針未能獲得響應(yīng)或者響應(yīng)代碼不是200,則Kubernetes將在5秒鐘后重新啟動(dòng)該容器。
除了HTTP存活性探針外,我們還可以使用TCP存活性探針和Exec存活性探針。以下是一個(gè)使用TCP存活性探針的示例:
apiVersion: v1kind: Podmetadata: name: my-podspec: containers: - name: my-container image: my-image livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 5 periodSeconds: 10
在上面的示例中,我們將TCP存活性探針添加到了my-container容器中。探針將每10秒鐘檢查容器中的TCP套接字是否處于活動(dòng)狀態(tài)。如果套接字不活動(dòng)或容器無(wú)法接受傳入連接請(qǐng)求,則Kubernetes將在5秒鐘后重新啟動(dòng)該容器。
最后,以下是一個(gè)使用Exec存活性探針的示例:
apiVersion: v1kind: Podmetadata: name: my-podspec: containers: - name: my-container image: my-image livenessProbe: exec: command: - /bin/sh - -c - ps aux | grep my-process initialDelaySeconds: 5 periodSeconds: 10
在上面的示例中,我們使用Exec存活性探針來(lái)檢查容器中是否正在運(yùn)行my-process進(jìn)程。探針將每10秒鐘運(yùn)行一次命令ps aux | grep my-process,并檢查退出代碼是否為0。如果進(jìn)程未運(yùn)行或命令返回非零退出代碼,則Kubernetes將在5秒鐘后重新啟動(dòng)該容器。
關(guān)鍵詞: