日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

helm安装postgres_Helm 入门介绍 Kubernetes 上的包管理软件

發布時間:2025/3/8 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 helm安装postgres_Helm 入门介绍 Kubernetes 上的包管理软件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章介紹一下云原生應用在 Kubernetes 上安裝時,經常會用到的一個重要工具,Helm。

Helm 是 Kubernetes 的包管理軟件。提到包管理軟件,很多人都不陌生。Maven、Gradle、pip、RubyGems 和 npm 都是包管理軟件。

作為一個包管理軟件,核心是包和管理兩個部分。


Helm Chart

第一個部分的要點是 Helm 的包中都包含什么?

我們都知道,Kubernetes 采用的是聲明式的資源管理。以 YAML 文件的形式來聲明資源的期望狀態,而 Kubernetes 會確保資源的實際狀態,滿足聲明所描述的期望。

比如,一個 Deployment 只需要聲明 Pod 的數量即可,而不用去管運行時 Pod 可能會出現的由于 Pod 失敗導致的 Pod 被重新創建等細節。

在部署一個應用到 Kubernetes 時,可能會需要聲明多種不同的資源。比如,在安裝 Postgres 時,我們可能會需要如下資源:

  • 實際運行 Postgres 的 Deployment 或 StatefulSet。

  • 允許其他應用訪問的 Service。

  • 數據存儲需要的 PersistenceVolumeClaim 或 PersitenceVolume。

  • 保存數據庫配置的 ConfigMap。

  • 保存數據庫密碼的 Secret。

所有這些資源聲明組成了應用的安裝包,Helm 稱之為 Chart。

使用軟件包的一個重要目的是為了共享。Helm Chart 中的資源定義是通過模板生成的,包含了很多可以在安裝時進行配置的選項。以Postgres來說,你可能會需要配置數據庫的訪問密碼、存儲空間的大小和數據庫的初始化腳本等。

把Helm Chart與安裝時的配置項結合起來,就得到了一個特定的release。

以Postgres Chart為例,我們可以創建對應于開發、測試和生產環境的3個不同的release。每個release基于同樣的Chart,但是配置不同。配置項通常以YAML文件的形式來保存,也可以在命令行傳遞。

下面給出了的配置文件,對應于 Postgres 在開發環境上的release。

postgresqlUsername: dev
postgresqlPassword: password
persistence:
enabled: false

通過?helm install?命令可以安裝Chart。在安裝時需要指定Chart的名稱、release的名稱和配置文件。配置文件使用?-f?參數來傳遞,也可以使用?--set?來設置單個配置項的值。

下面的代碼使用默認的配置來安裝 Nginx。

helm install nginx bitnami/nginx

Release管理

之前說的是包的部分,下面介紹 Helm 對包的管理。每個 Helm Chart 有兩個版本號,一個是所安裝的應用的版本號,比如 Postgres 的版本號;另外一個是 Chart 自身的版本。使用語義化的版本號,可以保證應用的有序升級。

當創建了release之后,Helm可以對release進行管理,包括升級、回退和刪除。對release的更新會產生不同的版本。比如,在首次安裝了Nginx之后,release的版本為?1。可以通過?helm list?命令來查看。

之后我們接到一個需求,要求啟用Nginx與Prometheus的集成功能。只需要使用?helm upgrade?命令更新當前的release,傳遞一個新的配置項?metrics.enable=true?即可。當更新完成之后,release的版本為?2。

helm upgrade --set metrics.enable=true nginx bitnami/nginx

如果發現之前的更新產生了問題,可以通過?helm rollback?命令,回退到版本?1。需要注意的是,在執行?helm rollback?命令之后,release的版本號實際上變成了?3。可以使用?helm history?命令來查看release的全部版本歷史記錄。

在每次更新之前,還可以通過?helm diff?來查看新改動與當前release版本的差異。

helm diff upgrade --set metrics.enabled=true nginx bitnami/nginx

下面給出了?helm diff?命令的輸出結果的示例。

當需要在Kubernetes上安裝軟件時,第一個選項是從 ArtifactHub 上查找,看是否已經有別人貢獻的Chart。這樣可以極大的降低開發的成本。比如,我之前安裝 Postgres 和Nginx使用的都是 Bitnami 維護的Chart。

對于內部項目的應用,只能自己開發 Chart。我將在下一篇文章中介紹 Helm Chart 的開發。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的helm安装postgres_Helm 入门介绍 Kubernetes 上的包管理软件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。