k8s的yaml文件配置詳解


 1 apiVersion: v1             #指定api版本,此值必須在kubectl apiversion中  
 2 kind: Pod                  #指定創建資源的角色/類型  
 3 metadata:                  #資源的元數據/屬性  
 4   name: django-pod         #資源的名字,在同一個namespace中必須唯一  
 5   labels:                  #設定資源的標簽,使這個標簽在service網絡中備案,以便被獲知
 6     k8s-app: django
 7     version: v1  
 8     kubernetes.io/cluster-service: "true"  
 9   annotations:             #設置自定義注解列表  
10     - name: String         #設置自定義注解名字  
11 spec:                      #設置該資源的內容  
12   restartPolicy: Always    #表示自動重啟,一直都會有這個容器運行
13   nodeSelector:            #選擇node節點14     zone: node1  
15   containers:  
16   - name: django-pod        #容器的名字  
17     image: django:v1.1      #容器使用的鏡像地址  
18     imagePullPolicy: Never #三個選擇Always、Never、IfNotPresent,每次啟動時檢查和更新(從registery)images的策略,
19                            # Always,每次都檢查
20                            # Never,每次都不檢查(不管本地是否有)
21                            # IfNotPresent,如果本地有就不檢查,如果沒有就拉取
22     command: ['sh']        #啟動容器的運行命令,將覆蓋容器中的Entrypoint,對應Dockefile中的ENTRYPOINT  
23     args: ["$(str)"]       #啟動容器的命令參數,對應Dockerfile中CMD參數  
24     env:                   #指定容器中的環境變量  
25     - name: str            #變量的名字  
26       value: "/etc/run.sh" #變量的值  
27     resources:             #資源管理
28       requests:            #容器運行時,最低資源需求,也就是說最少需要多少資源容器才能正常運行  
29         cpu: 0.1           #CPU資源(核數),兩種方式,浮點數或者是整數+m,0.1=100m,最少值為0.001核(1m)
30         memory: 32Mi       #內存使用量  
31       limits:              #資源限制  
32         cpu: 0.5  
33         memory: 32Mi  
34     ports:  
35     - containerPort: 8080    #容器開發對外的端口
36       name: uwsgi          #名稱
37       protocol: TCP  
38     livenessProbe:         #pod內容器健康檢查的設置
39       httpGet:             #通過httpget檢查健康,返回200-399之間,則認為容器正常  
40         path: /            #URI地址  
41         port: 8080  
42         #host: 127.0.0.1   #主機地址  
43         scheme: HTTP  
44       initialDelaySeconds: 180 #表明第一次檢測在容器啟動后多長時間后開始  
45       timeoutSeconds: 5    #檢測的超時時間  
46       periodSeconds: 15    #檢查間隔時間  
47       #也可以用這種方法  
48       #exec: 執行命令的方法進行監測,如果其退出碼不為0,則認為容器正常  
49       #  command:  
50       #    - cat  
51       #    - /tmp/health  
52       #也可以用這種方法  
53       #tcpSocket: //通過tcpSocket檢查健康   
54       #  port: number   
55     lifecycle:             #生命周期管理(鈎子)  
56       postStart:           #容器運行之前運行的任務  
57         exec:  
58           command:  
59             - 'sh'  
60             - 'yum upgrade -y'  
61       preStop:             #容器關閉之前運行的任務  
62         exec:  
63           command: ['service httpd stop']  
64     volumeMounts:          #掛載設置
65     - name: volume         #掛載設備的名字,與volumes[*].name 需要對應    
66       mountPath: /data     #掛載到容器的某個路徑下  
67       readOnly: True  
68   volumes:                 #定義一組掛載設備  
69   - name: volume           #定義一個掛載設備的名字  
70     #meptyDir: {}  
71     hostPath:  
72       path: /opt           #掛載設備類型為hostPath,路徑為宿主機下的/opt

 


免責聲明!

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



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