k8s資源deployment
阿新 • • 發佈:2021-07-02
一步步學習k8s yaml 檔案
宣告一個deployment型別的資源
# kubectl explain Deployment
apiVersion: extensions/v1beta1
kind: Deployment
宣告dp名稱為web 執行在的default 名稱空間
# kubectl explain Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: web
namespace: default
宣告dp的具體引數
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: web namespace: default spec: selector: matchLabels: app: web
宣告 pod 的模板
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: test-label spec: selector: matchLabels: app: web #與 labels 中的保持一致 template: metadata: labels: app: web # 與selector 中的保持一致 spec: containers: - name: web image: python args: - "python" - "-m" - "http.server"
定義健康檢查
- 命令型
livenessProbe: exec: command: - curl - 127.0.0.1:8000 initialDelaySeconds: 5 #第一次探測時等待5s periodSeconds: 5 #每5s執行一次 failureThreshold: 2 #失敗的閾值 successThreshold: 1 #成功的閾值 timeoutSeconds: 5 #超時的時間
- http型
livenessProbe:
httpGet:
path: /
port: 8000
scheme: HTTP
initialDelaySeconds: 5 #第一次探測時等待5s
periodSeconds: 5 #每5s執行一次
failureThreshold: 2 #失敗的閾值
successThreshold: 1 #成功的閾值
timeoutSeconds: 3 #單次執行超時的時間
- tcp型
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test-label
spec:
selector:
matchLabels:
app: web #與 labels 中的保持一致
template:
metadata:
labels:
app: web # 與selector 中的保持一致
spec:
containers:
- name: web
image: python
args:
- "python"
- "-m"
- "http.server"
livenessProbe:
tcpSocket:
port: 8000
initialDelaySeconds: 5 #第一次探測時等待5s
periodSeconds: 5 #每5s執行一次
failureThreshold: 2 #失敗的閾值
successThreshold: 1 #成功的閾值
timeoutSeconds: 3 #單次執行超時的時間