本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon S3 中設置頭盔 v3 圖表存儲庫
創建者阿布舍克·夏爾馬 () AWS
環境:PoC 或試點 | 技術: DevOps;容器與微服務;現代化 | 工作負載:所有其他工作 |
AWS服務:Amazon S3 |
Summary
這種模式通過將 Helm v3 存儲庫集成到 Amazon 網絡服務()雲上的亞馬遜簡單存儲服務(亞馬遜 S3)來有效地管理舵 v3 圖表。AWS若要使用此模式,您必須熟悉 Kubernetes 和掌舵,這是 Kubernetes 套件管理員。使用 Helm 存放庫來儲存圖表和管制圖版本可以改善中斷期間的平均還原時間 (MTTR)。
此模式用AWS CodeCommit 於 Helm 存儲庫創建,並使用 S3 存儲桶作為 Helm 圖表存儲庫,以便組織內的開發人員可以集中管理和訪問圖表。
先決條件和限制
先決條件
活躍AWS帳戶
Python 版本 2.7.12 或更高版本
pip
具有子網路和 Amazon 彈性運算雲端 (AmazonVPC) 執行個體的虛擬私有雲端 (EC2)
Git 安裝在EC2實例上
AWS建立 S3 儲存貯體的身分和存取管理 (IAM) 存取權
IAM(程式設計或角色) 從用戶端機器存取 Amazon S3
AWS CodeCommit 儲存庫
AWS指令行介面 (AWSCLI)
產品版本
頭盔第 3 版
Python 版本 2.7.12 或更高版本
架構
目標技術堆疊
Amazon S3
AWS CodeCommit
Helm
庫貝克特爾
Python 和點子
Git
幫助 -3 插件
目標架構
![掌舵存儲庫 CodeCommit,EC2實例與頭盔,Git 和 Helm-S3,頭盔圖表在 Amazon S3。](images/pattern-img/1dbd3db8-5819-4f30-bebd-a144a2075fcd/images/55652eb2-2e11-4b14-9ed4-0cdcf55cc3e6.png)
自動化和規模
您可以將Helm 整合到現有的持續整合/持續交付 (CI/CD) 自動化工具中,以自動化 Helm 圖表的封裝和版本控制 (此模式超出範圍)。
GitVersion 或者 Jenkins 內建編號可用於自動化圖表的版本控制。
工具
掌舵
— Helm 是 Kubernetes 的套件管理員,可協助您在 Kubernetes 叢集上安裝及管理應用程式。 Amazon S3 — Amazon Simple Storage Service (Amazon S3) 是互聯網的存儲。您可以使用 Amazon S3 隨時從 Web 任何地方存放和擷取任意資料量。
Helm-S3 插件
— 幫助 -3 插件支持與 Amazon S3 的交互。它可以與頭盔 v2 或頭盔 v3 一起使用。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
安裝頭盔 v3 客戶端。 | 若要在本機系統上下載並安裝 Helm 用戶端,請執行下列命令: | 雲端管理員、 DevOps 工程師 |
驗證頭盔的安裝。 | 若要驗證 Helm 用戶端,請執行下列命令: | 雲端管理員、 DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
為舵圖表創建 S3 存儲桶。 | 建立唯一的 S3 儲存貯體。在值區中,建立名為的資料夾 | 雲端管理員、 DevOps 工程師 |
安裝 Amazon S3 的幫助 -3 插件。 | 若要在用戶端電腦上安裝 helm-s3 外掛程式,請執行下列命令: | 雲端管理員、 DevOps 工程師 |
初始化 Amazon S3 掌舵存儲庫。 | 要將目標文件夾初始化為 Helm 存儲庫,請使用以下命令: 命令會在目標中建立 | 雲端管理員、 DevOps 工程師 |
驗證新創建的 Helm 存儲庫。 | 若要確認 | 雲端管理員、 DevOps 工程師 |
將 Amazon S3 存儲庫添加到客戶端機器上的掌舵。 | 若要將目標存放庫別名新增至 Helm 用戶端機器,請使用下列命令: | 雲端管理員、 DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
克隆你的頭盔圖表。 | 如果您的 CodeCommit 存儲庫中沒有本地 Helm 圖表,請運行以下命令從存儲 GitHub 庫克隆它們: | 雲端管理員、 DevOps 工程師 |
打 Package 當地的頭盔圖。 | 若要封裝您建立或複製的圖表,請使用下列命令: 例如,此模式使用圖 | 雲端管理員、 DevOps 工程師 |
將本機套件存放在 Amazon S3 掌舵儲存庫中。 | 若要將本機套件上傳到 Amazon S3 中的 Helm 儲存庫,請執行下列命令: 在命令中, | 雲端管理員、 DevOps 工程師 |
搜索頭盔圖表。 | 若要確認圖表同時出現在本機和 Amazon S3 Helm 儲存庫中,請執行下列命令: | 雲端管理員、 DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
修改並封裝圖表。 | 在中 | 雲端管理員、 DevOps 工程師 |
將新版本推送到 Amazon S3 中的頭盔存儲庫。 | 若要將新套件 (0.1.1 版) 推送至 Amazon S3 中的 my-helm-chartsHelm 儲存庫,請執行下列命令: | 雲端管理員、 DevOps 工程師 |
驗證更新的頭盔圖表。 | 若要確認更新的圖表同時出現在本機和 Amazon S3 Helm 儲存庫中,請執行下列命令。
| 雲端管理員、 DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
搜索我的應用程序圖表的所有版本。 | 若要檢視圖表的所有可用版本,請使用 如果沒有旗標,Helm 預設會顯示圖表的最新上傳版本。 | DevOps 工程師 |
從 Amazon S3 掌舵存儲庫安裝圖表。 | 自動安裝超出此模式的範圍,但您可以手動安裝。先前工作的搜尋結果會顯示 | DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
檢閱特定修訂的詳細資訊。 | 自動復原超出此病毒碼的範圍,但您可以手動復原至舊版。在您切換或復原至作業中版本,以及在安裝修訂版本之前進行額外的驗證層之前,請使用下列指令檢視哪些值已傳遞給每個修訂版: | DevOps 工程師 |
回滾到以前的版本。 | 自動復原超出此模式的範圍。若要手動復原至先前的修訂版,請使用下列指令: 此範例將復原至修訂編號 1。 | DevOps 工程師 |