deployment.yaml 檔案解讀

Hello_worlds發表於2024-08-13

apiVersion: apps/v1
kind: Deployment
  • apiVersion: 資源的版本,這裡使用的是 apps/v1,表示這是一個 Deployment 的最新版本。
  • kind: 資源型別,這裡是 Deployment,表示這是一個 Deployment 資源。
metadata:
  name:  project_name-project_env
name: Deployment 的名字,通常用來標識這個 Deployment 例項。
  namespace: baidu-project_env
namespace: 指定 Deployment 所在的名稱空間,這裡是 baidu-project_env
  labels:
    app: project_name-project_env
labels: 用於標識 Deployment 的鍵值對。標籤可以幫助我們管理和選擇特定的資源。
spec:
  replicas: 1
replicas: 指定要執行的 Pod 副本數量,這裡是 1 個
  selector:
    matchLabels:
      app: project_name-project_env
selector: 指定如何選擇 Pod。它會選擇帶有 app: project_name-project_env 標籤的 Pod。 template: metadata: labels: app: project_name
-project_env
template: 定義 Pod 的模板。 spec: nodeSelector: environment: dtm
-project_env
     nodeSelector: 指定 Pod 應該在哪些節點上執行。這裡 Pod 會執行在帶有 environment: dtm-project_env標籤的節點上。
      containers:
      - name: project_name-project_env
     name: 容器的名字。 image: project_images_url
image: 容器使用的映象 lifecycle:
lifecycle: 定義容器的生命週期鉤子。 postStart:
postStart: 在容器啟動後執行的命令 exec:
exec: 執行 shell 命令,改變 /data/logs/data/webapps/data/cache 目錄的所有者。 command:
- /bin/sh - -c - | chown -R www-data.www-data /data/logs /data/webapps /data/cache ports:
ports: 容器暴露的埠,這裡暴露了 80 埠。
- containerPort: 80 resources:
resources: 定義容器的資源請求和限制 limits:
limits 用於設定容器可用的最大資源量。如果容器超出這些限制,可能會被 Kubernetes 終止(OOMKilled 或者超出 CPU 限制)。
限制(limits):用於限制容器的資源消耗,防止容器消耗過多的資源,影響其他 Pod。
memory:
"1Gi" cpu: "1" requests:
requests 定義了容器正常執行所需的最小資源量。
請求(requests):幫助 Kubernetes 確定在哪個節點上排程 Pod。節點上的總請求量不應該超過節點的總容量。
Kubernetes 根據這些請求值來決定 Pod 應該部署在哪個節點上。確保每個節點上的總請求量不超過其可用資源
memory:
"256Mi" cpu: "100m" terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /data/logs/svc/nginx name: nginx-error-log - mountPath: /data/logs/access/project_name name: nginx-access-log - mountPath: /data/logs/svc/php name: php-error-log - mountPath: /data/logs/app/project_name name: app-log - mountPath: /data/cache/project_name name: cache imagePullSecrets: - name: aliyun-registry-secret volumes: - hostPath: path: /data/logs/svc/nginx type: '' name: nginx-error-log - hostPath: path: /data/logs/access/project_name type: '' name: nginx-access-log - hostPath: path: /data/logs/app/project_name type: "" name: app-log - hostPath: path: /data/logs/svc/php type: "" name: php-error-log - hostPath: path: /data/cache/project_name type: "" name: cache

相關文章