本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon S3 中設定 Helm v3 圖表儲存庫
由 Abhishek Sharma (AWS) 建立
Summary
注意:AWS CodeCommit 不再提供給新客戶。AWS CodeCommit 的現有客戶可以繼續正常使用服務。進一步了解
此模式透過將 Helm v3 儲存庫整合到 Amazon Web Services (AWS) 雲端上的 Amazon Simple Storage Service (Amazon S3),協助您有效率地管理 Helm v3 圖表。若要使用此模式,您必須熟悉 Kubernetes 和 Helm,這是 Kubernetes 套件管理員。使用 Helm 儲存庫存放圖表和控制圖表版本可以改善中斷期間的平均還原時間 (MTTR)。
此模式使用 AWS CodeCommit 建立 Helm 儲存庫,並使用 S3 儲存貯體做為 Helm Chart 儲存庫,以便整個組織的開發人員集中管理和存取圖表。
先決條件和限制
先決條件
作用中的 AWS 帳戶
Python 2.7.12 版或更新版本
pip
具有子網路和 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的虛擬私有雲端 (VPC)
安裝在 EC2 執行個體上的 Git
建立 S3 儲存貯體的 AWS Identity and Access Management (IAM) 存取權
從用戶端機器存取 Amazon S3 的 IAM (程式設計或角色)
AWS CodeCommit 儲存庫
AWS 命令列界面 (AWS CLI)
產品版本
Helm v3
Python 2.7.12 版或更新版本
架構
目標技術堆疊
Amazon S3
AWS CodeCommit
Helm
Kubectl
Python 和 pip
Git
helm-s3 外掛程式
目標架構

自動化和擴展
您可以將 Helm 納入現有的持續整合/持續交付 (CI/CD) 自動化工具,以自動化 Helm Chart 的封裝和版本控制 (超出此模式的範圍)。
GitVersion 或 Jenkins 建置號碼可用來自動化圖表的版本控制。
工具
Helm
– Helm 是 Kubernetes 的套件管理員,可協助您在 Kubernetes 叢集上安裝和管理應用程式。 Amazon S3 – Amazon Simple Storage Service (Amazon S3) 是網際網路的儲存體。您可以使用 Amazon S3 隨時從 Web 任何地方存放和擷取任意資料量。
helm-s3 外掛程式
– helm-s3 外掛程式支援與 Amazon S3 互動。它可以與 Helm v2 或 Helm v3 搭配使用。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
安裝 Helm v3 用戶端。 | 若要在您的本機系統下載並安裝 Helm 用戶端,請執行下列命令: | 雲端管理員,DevOps 工程師 |
驗證 Helm 安裝。 | 若要驗證 Helm 用戶端,請執行下列命令: | 雲端管理員,DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
建立 Helm Chart 的 S3 儲存貯體。 | 建立唯一的 S3 儲存貯體。在 儲存貯體中,建立名為 的資料夾 | 雲端管理員,DevOps 工程師 |
安裝適用於 Amazon S3 的 helm-s3 外掛程式。 | 若要在用戶端機器上安裝 helm-s3 外掛程式,請執行下列命令: | 雲端管理員,DevOps 工程師 |
初始化 Amazon S3 Helm 儲存庫。 | 若要將目標資料夾初始化為 Helm 儲存庫,請使用下列命令: 命令會在目標中建立 | 雲端管理員,DevOps 工程師 |
驗證新建立的 Helm 儲存庫。 | 若要驗證 | 雲端管理員,DevOps 工程師 |
將 Amazon S3 儲存庫新增至用戶端機器上的 Helm。 | 若要將目標儲存庫別名新增至 Helm 用戶端機器,請使用下列命令: | 雲端管理員,DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
複製您的 Helm Chart。 | 如果您的 CodeCommit 儲存庫中沒有本機 Helm Chart,請執行下列命令,從 GitHub 儲存庫複製它們: | 雲端管理員,DevOps 工程師 |
封裝本機 Helm Chart。 | 若要封裝您建立或複製的圖表,請使用下列命令: 例如,此模式使用 | 雲端管理員,DevOps 工程師 |
將本機套件存放在 Amazon S3 Helm 儲存庫中。 | 若要將本機套件上傳至 Amazon S3 中的 Helm 儲存庫,請執行下列命令: 在 命令中, | 雲端管理員,DevOps 工程師 |
搜尋 Helm Chart。 | 若要確認圖表同時顯示在本機和 Amazon S3 Helm 儲存庫中,請執行下列命令: | 雲端管理員,DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
修改和封裝圖表。 | 在 中 | 雲端管理員,DevOps 工程師 |
將新版本推送至 Amazon S3 中的 Helm 儲存庫。 | 若要將新套件 0.1.1 版推送至 Amazon S3 中的 my-helm-charts Helm 儲存庫,請執行下列命令: | 雲端管理員,DevOps 工程師 |
驗證更新的 Helm Chart。 | 若要確認更新的圖表同時顯示在本機和 Amazon S3 Helm 儲存庫中,請執行下列命令。
| 雲端管理員,DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
搜尋 my-app 圖表的所有版本。 | 若要檢視圖表的所有可用版本,請使用 如果沒有 旗標,Helm 預設會顯示圖表的最新上傳版本。 | DevOps 工程師 |
從 Amazon S3 Helm 儲存庫安裝圖表。 | 自動安裝超出此模式的範圍,但您可以手動安裝。先前任務的搜尋結果會顯示 | DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
檢閱特定修訂的詳細資訊。 | 自動轉返超出此模式的範圍,但您可以手動轉返至較早版本。在切換或轉返到工作版本之前,以及安裝修訂之前的額外驗證層,請使用下列命令檢視傳遞到每個修訂的值: | DevOps 工程師 |
回復至先前的版本。 | 自動化轉返超出此模式的範圍。若要手動復原至先前的修訂版,請使用下列命令: 此範例會轉返至修訂編號 1。 | DevOps 工程師 |