Helm模板常用元件 藍葉子Water

2022-09-23 02:09:09 字數 3685 閱讀 7547

應用映象

repository:

??hub:?docker.io

??image:?gitlab/gitlab-ce

??tag:?11.1.4-ce.0

deployment中引用:

image:?}/}:}探針

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

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:?5deployment.yaml檔案引用探針如下:

}資源限制

每個應用都需要使用到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是安裝檔名順序來執行安裝的。

內容如下:

}kind:?persistentvolumeclaim

apiversion:?v1

metadata:

??name:?}-pvc

}??annotations:}}

??labels:

????app:?}

spec:

}??volumename:?"}"

}??accessmodes:

????-?}

??resources:

????requests:

??????storage:?}}}

??storageclassname:?""

}??storageclassname:?"}"}}

}最後根據應用需要讀寫的路徑,掛載到容器內,修改deployment.yaml檔案,新增以下內容:

volumes:

-?name:?data

??}??persistentvolumeclaim:

????claimname:?}-pvc

??}??emptydir:?{}

??}# 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檔案中新增:

}??????securitycontext:

????????runasuser:?}

}????????fsgroup:?}

}}

Helm 常用命令

檢視版本 helm version 檢視當前安裝的charts helm list 查詢 charts helm search nginx helm fetch rancher stable rancher 檢視package詳細資訊 helm inspect chart 安裝charts helm...

Helm常用命令總結

做為kubernetes的乙個包管理工具,helm具有如下功能 chart 包含了建立kubernetes的乙個應用例項的必要資訊 config 包含了應用發布配置資訊 release 是乙個chart及其配置的乙個執行例項 操作型別命令 新增倉庫 helm repo add loki 更新倉庫 h...

Vue元件模板

div template 這裡匯入其它檔案 元件,工具,json檔案,js外掛程式,import 元件名稱 from 元件路徑 import from vue composition api export default props data 計算屬性 資料被改變後,會觸發此進行計算 compute...