91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Helm模板常用組件

發布時間:2020-07-03 22:42:27 來源:網絡 閱讀:198 作者:藍葉子Sheep 欄目:系統運維

應用鏡像

應用鏡像是chart包的核心,必須包含:鏡像倉庫地址、鏡像名稱、鏡像版本,values.yaml字段規范如下:

repository:
??hub:?docker.io
??image:?gitlab/gitlab-ce
??tag:?11.1.4-ce.0
deployment中引用:
image:?{{?.Values.repository.hub?}}/{{?.Values.repository.image?}}:{{?.Values.repository.tag?}}

探針

應用的探針用于檢測該應用是否健康,是否準備好對外提供服務。健康狀況是非常關鍵的屬性,因此每個應用必須都明確表示如何進行健康檢測。

values.yaml文件必須包含以下探針屬性:

livenessProbe:?#?存活探針
???enabled:?true
???path:?/??#?心跳檢測的接口,默認都是httpGet請求
???initialDelaySeconds:?30?#?容器啟動后第一次執行探測是需要等待多少秒。
???periodSeconds:?60?#?執行探測的頻率。默認是10秒,最小1秒。
???timeoutSeconds:?5?#?探測超時時間。默認1秒,最小1秒。
???successThreshold:?1?#?探測失敗后,最少連續探測成功多少次才被認定為成功。默認是1
???failureThreshold:?5?#?探測成功后,最少連續探測失敗多少次才被認定為失敗。默認是3
?readinessProbe:?#?就緒探針
???enabled:?true
???path:?/??#?心跳檢測的接口,默認都是httpGet請求
???initialDelaySeconds:?10
???periodSeconds:?10
???timeoutSeconds:?5
???successThreshold:?1
???failureThreshold:?5

deployment.yaml文件引用探針如下:

{{-?if?.Values.livenessProbe.enabled?}}
livenessProbe:
??initialDelaySeconds:?{{?.Values.livenessProbe.initialDelaySeconds?}}
??periodSeconds:?{{?.Values.livenessProbe.periodSeconds?}}
??timeoutSeconds:?{{?.Values.livenessProbe.timeoutSeconds?}}
??successThreshold:?{{?.Values.livenessProbe.successThreshold?}}
??failureThreshold:?{{?.Values.livenessProbe.failureThreshold?}}
??httpGet:
??????path:?{{?.Values.livenessProbe.path?}}
??????port:?http
{{-?end?}}
{{-?if?.Values.readinessProbe.enabled?}}
readinessProbe:
??initialDelaySeconds:?{{?.Values.readinessProbe.initialDelaySeconds?}}
??periodSeconds:?{{?.Values.readinessProbe.periodSeconds?}}
??timeoutSeconds:?{{?.Values.readinessProbe.timeoutSeconds?}}
??successThreshold:?{{?.Values.readinessProbe.successThreshold?}}
??failureThreshold:?{{?.Values.readinessProbe.failureThreshold?}}
??httpGet:
??????path:?{{.Values.readinessProbe.path?}}
??????port:?http
{{-?end?}}

資源限制

每個應用都需要使用到CPU和內存資源,如果不加以明確說明,則會導致資源的無畏浪費,并且在資源不足時第一時間就被回收。

因此應用都應當明確申明自己所需的資源大小。

values.yaml文件包含以下屬性:

resources:
??requests:??#?聲明最少使用的資源,不夠的話則應用無法啟動成功
????memory:?256Mi
????cpu:?100m
??limits:????#?聲明最大使用的資源,超過即重啟應用pod
????memory:?256Mi
????cpu:?100m

持久化存儲

應用如果不使用持久化存儲,那么當應用重啟的時候,之前保存的數據將會都清空。在web無狀態應用中,這是保持環境干凈很好的一種方式。

但是如果我們應用有數據需要持久保留的話,就需要使用到持久化存儲了。以下是持久化存儲規范:

values.yaml文件需包含以下屬性:

persistence:
??enabled:?true
??local:
????enabled:?false?#?是否啟用本地存儲
????name:?gitlab-pg??#?對應本地存儲名稱
??storageClass:?"nfs-dynamic-class"????#?集群共享存儲
??accessMode:?ReadWriteOnce?#?存儲訪問模式
??size:?30Mi???#?聲明所需存儲的大小
??annotations:?{}

templates目錄下新建auto-pvc.yaml文件,這里之所以要加一個auto前綴就是為了保證安裝時首先執行安裝pvc,默認helm是安裝文件名順序來執行安裝的。

內容如下:

{{-?if?and?.Values.persistence.enabled?(not?.Values.persistence.existingClaim)?}}
kind:?PersistentVolumeClaim
apiVersion:?v1
metadata:
??name:?{{?.Release.Name?}}-pvc
{{-?with?.Values.persistence.annotations??}}
??annotations:
{{?toYaml?.?|?indent?4?}}
{{-?end?}}
??labels:
????app:?{{?.Release.Name?}}
spec:
{{-?if?.Values.persistence.local.enabled?}}
??volumeName:?"{{?.Values.persistence.local.name?}}"
{{-?end?}}
??accessModes:
????-?{{?.Values.persistence.accessMode?|?quote?}}
??resources:
????requests:
??????storage:?{{?.Values.persistence.size?|?quote?}}
{{-?if?.Values.persistence.storageClass?}}
{{-?if?(eq?"-"?.Values.persistence.storageClass)?}}
??storageClassName:?""
{{-?else?}}
??storageClassName:?"{{?.Values.persistence.storageClass?}}"
{{-?end?}}
{{-?end?}}
{{-?end?}}

最后根據應用需要讀寫的路徑,掛載到容器內,修改deployment.yaml文件,添加以下內容:

volumes:
-?name:?data
??{{-?if?.Values.persistence.enabled?}}
??persistentVolumeClaim:
????claimName:?{{?.Release.Name?}}-pvc
??{{-?else?}}
??emptyDir:?{}
??{{-?end?}}

# containers子標簽中添加

volumeMounts:
-?name:?data
??mountPath:?/mnt?#?應用容器內需要讀寫的路徑

本地存儲

我們以后有很多應用都需要支持本地存儲,本地存儲修改內容如下:

values.yaml
persistence:
??enabled:?true
??local:
????enabled:?true????#?啟用本地存儲
????name:?gitlab-pg??#?對應本地存儲名稱
??accessMode:?ReadWriteOnce
??size:?20Gi
??storageClass:?"-"??#?取消共享存儲
??annotations:?{}
nodeSelector:
??kubernetes.io/hostname:?10.160.144.72??#?對應本地運行主機

安全

設置Pod運行的用戶,一般情況為了安全起見,容器內不建議使用root用戶進行運行。但是如果需要使用本地存儲,那么就必須要使用root用戶運行了。

另外在使用共享存儲時,可以將usePodSecurityContext設置為false。

設置以root運行,在values.yaml文件添加:

security:
??usePodSecurityContext:?true
??runAsUser:?0
??fsGroup:?0

在deployment.yaml文件中添加:

{{-?if?.Values.security.usePodSecurityContext?}}
??????securityContext:
????????runAsUser:?{{?default?0?.Values.security.runAsUser?}}
{{-?if?and?(.Values.security.runAsUser)?(.Values.security.fsGroup)?}}
????????fsGroup:?{{?.Values.security.fsGroup?}}
{{-?end?}}
{{-?end?}}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

疏勒县| 台东县| 米林县| 龙州县| 基隆市| 太原市| 介休市| 普定县| 淄博市| 鸡西市| 甘德县| 唐河县| 涞水县| 精河县| 荆门市| 正定县| 鹤峰县| 乌拉特后旗| 大渡口区| 扬州市| 四会市| 岐山县| 杂多县| 平山县| 潜江市| 迁西县| 昭觉县| 琼海市| 隆德县| 江北区| 乳源| 通道| 开原市| 南京市| 肇庆市| 咸丰县| 中西区| 西乌| 岳普湖县| 宁远县| 鸡泽县|