最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kubernetes k8s集群之包管理器Helm方式

 更新時間:2024年08月17日 09:55:37   作者:-山海皆可平  
這篇文章主要介紹了Kubernetes k8s集群之包管理器Helm方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

每個成功的軟件平臺都有一個優(yōu)秀的打包系統(tǒng),比如Debian、Ubuntu 的 apt,RedHat、CentOS

的 yum。Helm 則是 Kubernetes上 的包管理器,方便我們更好的管理應用

一.Helm概述

1.Helm的簡介

Helm本質(zhì)就是讓K8s的應用管理(Deployment、Service等)可配置,可以通過類似于傳遞環(huán)境變量的方式能動態(tài)生成。通過動態(tài)生成K8s資源清單文件(deployment.yaml、service.yaml)。 然后調(diào)用 Kubectl 自動執(zhí)行 K8s 資源部署。

在沒使用 helm 之前,向 kubernetes 部署應用,我們要依次部署 deployment、svc 等,步驟較繁瑣。 況且隨著很多項目微服務化,復雜的應用在容器中部署以及管理顯得較為復雜,helm 通過打包的方式,支持發(fā)布的版本管理和控制, 很大程度上簡化了 Kubernetes 應用的部署和管理。

Helm 是官方提供的類似于 YUM 的包管理器,是部署環(huán)境的流程封裝。

Helm的官網(wǎng)地址:https://helm.sh/

2.Helm的三個重要概念

在Helm中 有三個重要的概念,分別為:Chart 、Repository 和 Release

  • Chart:Helm 的軟件包,采用 TAR 格式。是創(chuàng)建一個應用的信息集合,包括各種 Kubernetes 對象的配置模板、參數(shù)定義、依賴關(guān)系、文檔說明等。chart 是應用部署的自包含邏輯單元。 可以將 chart 想象成 apt、yum 中的軟件安裝包。
  • Release:是 chart 的運行實例,代表了一個正在運行的應用。當 chart 被安裝到 Kubernetes 集群,就生成一個 release。chart 能夠多次安裝到同一個集群,每次安裝都是一個 release。
  • Repository(倉庫):Charts 倉庫,用于集中存儲和分發(fā) Charts。Repository 本質(zhì)上是一個 Web 服務器,該服務器保存了一系列的 Chart 軟件包以供用戶下載,并且提供了一個該 Repository 的 Chart 包的清單文件以供查詢。Helm 可以同時管理多個不同的 Repository。

還有一個在Helm3版本中就被移除的概念

Tiller: Helm 2.x版本中,Helm采用Client/Server的設計,Tiller就是Helm的Server部分,需要具備集群管理員權(quán)限才能安裝到K8s集群中運行。

Tiller與Helm client進行交互,接收client的請求,再與K8s API Server通信,根據(jù)傳遞的Charts來生成Release。而在最新的Helm 3.x中,據(jù)說是為了安全性考慮移除了Tiller。

Helm在k8s集群運用中,總的來講其作用過程:Helm 安裝 charts 到 Kubernetes 集群中,每次安裝都會創(chuàng)建一個新的 release。

你可以在 Helm 的 chart repositories 中尋找新的 chart

3.Helm2與Helm3的的區(qū)別

helm2的部署方式與使用

Helm2 是 C/S 架構(gòu),主要分為客戶端 helm 和服務端 Tiller。在 Helm 2 中,Tiller 是作為一個Deployment 部署在 kube-system 命名空間中,很多情況下,我們會為 Tiller 準備一個ServiceAccount ,這個 ServiceAccount 通常擁有集群的所有權(quán)限。

用戶可以使用本地 Helm 命令,自由地連接到 Tiller 中并通過 Tiller 創(chuàng)建、修改、刪除任意命名空間下的任意資源。

Helm3的部署與使用

在 Helm 3 中,Tiller 被移除了。新的 Helm 客戶端會像 kubectl 命令一樣,讀取本地的 kubeconfig文件,使用我們在 kubeconfig 中預先定義好的權(quán)限來進行一系列操作

二.Helm 部署

1.安裝 helm

上傳helm-v3.6.0-linux-amd64.tar.gz
tar -zxvf helm-v3.6.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/
helm version
 
 
//命令補全
source <(helm completion bash)

2.使用 helm 安裝 Chart

//添加常用的 chart 倉庫,
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add stable http://mirror.azure.cn/kubernetes/charts
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo add incubator https://charts.helm.sh/incubator
 
//查看 charts 列表        
helm repo list
 
//更新 charts 列表
helm repo update          
 
//查看 stable 倉庫可用的 charts 列表
helm search repo stable
 
//刪除 incubator 倉庫
helm repo remove incubator
 
helm search repo <倉庫名稱>                #查看倉庫中可用的chart包列表
helm search repo <軟件名>                  #在倉庫列表查詢中可用的chart包
helm search repo <chart包> -l              #查看倉庫中指定的chart包所有可用的歷史版本列表,<chart包>格式為<倉庫名稱/軟件包>
helm show chart <chart包>                  #查看chart包的基本信息
chart包安裝、卸載:
helm install -n <命名空間> <實例名稱> <chart包> [--version <chart版本>]    #通過chart包安裝實例,默認安裝最新版本
helm ls -n <命名空間>                                                      #查看helm安裝的實例
helm list -n <命名空間>                                                   
helm status -n <命名空間> <實例名稱>                                       #查看實例的狀態(tài)
helm uninstall -n <命名空間> <實例名稱>                                    #卸載實例

3.Helm 自定義模板

chart包的管理:
helm pull <chart包>                   #從倉庫下載chart包
helm create <chart包>                 #自建chart包
helm lint <chart包目錄>               #檢查chart包中的文件語法格式
helm package <chart包目錄>            #將chart包目錄打包成tar格式壓縮包
vim Chart.yaml
vim values.yaml
修改此文件中的配置
 
helm lint myapp/   #檢查chart包中的文件語法格式
helm package myapp/  #將chart包目錄打包成tar格式壓縮包
 
helm install -n xy101 myapp-1 myapp-1.0.0.tgz  #部署
升級:修改配置文件后重新生成chart包
helm upgrade -n <命名空間> <實例名稱> <chart包>                            #升級實例
helm history -n <命名空間> <實例名稱>                                      #查看實例的歷史版本列表
helm rollback -n <命名空間> <實例名稱> <REVISION>                          #回滾實例到指定的chart歷史版本

4.Helm 倉庫

helm 可以使用 harbor 作為本地倉庫,將自定義的 chart 推送至 harbor 倉庫

//安裝 harbor
#上傳 harbor-offline-installer-v1.9.1.tgz 和 docker-compose 文件到 /opt 目錄
cd /opt
cp docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
 
tar zxf harbor-offline-installer-v1.9.1.tgz
cd harbor/
 
vim harbor.yml
hostname: 192.168.80.13
harbor_admin_password: Harbor12345     #admin用戶初始密碼
data_volume: /data                     #數(shù)據(jù)存儲路徑,自動創(chuàng)建
chart:
  absolute_url: enabled                #在chart中啟用絕對url
log:
  level: info
  local:
    rotate_count: 50
    rotate_size: 200M
    location: /var/log/harbor          #日志路徑
 
#安裝帶有 Clair service 和 chart 倉庫服務的 Harbor
./install.sh --with-clair --with-chartmuseum
 
//安裝 push 插件
#在線安裝
helm plugin install https://github.com/chartmuseum/helm-push
 
#離線安裝
wget https://github.com/chartmuseum/helm-push/releases/download/v0.8.1/helm-push_0.8.1_linux_amd64.tar.gz
 
mkdir -p ~/.local/share/helm/plugins/helm-push
tar -zxvf helm-push_0.8.1_linux_amd64.tar.gz -C ~/.local/share/helm/plugins/helm-push
#登錄 Harbor WEB UI 界面,創(chuàng)建一個新項目
瀏覽器訪問:http://192.168.80.101 ,默認的管理員用戶名和密碼是 admin/Harbor12345
點擊 “+新建項目” 按鈕
填寫項目名稱為 “chart_repo”,訪問級別勾選 “公開”,點擊 “確定” 按鈕,創(chuàng)建新項目
 
#添加倉庫
helm repo add harbor http://192.168.80.13/chartrepo/chart_repo --username=admin --password=Harbor12345
#注:這里的 repo 的地址是<Harbor URL>/chartrepo/<項目名稱>,Harbor 中每個項目是分開的 repo。如果不提供項目名稱,則默認使用 library 這個項目。
 
helm repo ls
 
#推送 chart 到 harbor 中
cd /opt/helm
helm push nginx harbor
 

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Java將Excel中的數(shù)字轉(zhuǎn)換為文本或?qū)⑽谋拘蛿?shù)字轉(zhuǎn)換為數(shù)字

    使用Java將Excel中的數(shù)字轉(zhuǎn)換為文本或?qū)⑽谋拘蛿?shù)字轉(zhuǎn)換為數(shù)字

    在 Excel 中,數(shù)字有時會以文本的形式存儲,這可能會影響數(shù)據(jù)的計算、排序和處理,無論是將數(shù)字轉(zhuǎn)換為文本,還是將文本型數(shù)字轉(zhuǎn)換為數(shù)字,這兩種操作在處理 Excel 數(shù)據(jù)時都非常常見且重要,本文將介紹如何使用 Java 完成這兩個任務,需要的朋友可以參考下
    2025-12-12
  • 詳解spring cloud feign踩坑記錄

    詳解spring cloud feign踩坑記錄

    這篇文章主要介紹了spring cloud feign踩坑記錄,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 一文讀懂 Java 中的 ==、equals () 與 hashCode ()原理與避坑指南

    一文讀懂 Java 中的 ==、equals () 與 ha

    在 Java 開發(fā)中,==、equals()?和?hashCode()?是處理對象比較和哈希計算的核心元素,理解它們之間的區(qū)別與聯(lián)系對編寫高質(zhì)量代碼至關(guān)重要,本文給大家介紹Java 中的 ==、equals()與hashCode()原理,感興趣的朋友一起看看吧
    2025-09-09
  • IDEA搭建Maven模塊化項目的實現(xiàn)

    IDEA搭建Maven模塊化項目的實現(xiàn)

    本文主要介紹了IDEA搭建Maven模塊化項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • SpringBoot使用Tika進行文檔解析的完整指南

    SpringBoot使用Tika進行文檔解析的完整指南

    Tika是一款Apache開源的,跨平臺,支持多品種文本類型的內(nèi)容檢測和提取工具,本文主要為大家介紹了SpringBoot使用Tika進行文檔解析的完整步驟,希望對大家有所幫助
    2025-07-07
  • 如何通過Java實現(xiàn)加密、解密Word文檔

    如何通過Java實現(xiàn)加密、解密Word文檔

    這篇文章主要介紹了如何通過Java實現(xiàn)加密、解密Word文檔,對一些重要文檔,常需要對文件進行加密,查看文件時,需要正確輸入密碼才能打開文件。下面介紹了一種比較簡單的方法給Word文件加密以及如何給已加密的Word文件解除密碼保護,需要的朋友可以參考下
    2019-07-07
  • java莫名其妙的掛掉問題及解決方案

    java莫名其妙的掛掉問題及解決方案

    文章介紹了Java服務死掉并被OOMKiller殺死的情況,通過查看系統(tǒng)日志和Cron任務,懷疑存在惡意軟件,任務名稱和參數(shù)看起來隨機,并且執(zhí)行用戶為root,具有高度可疑性,作者建議檢查并移除可疑任務
    2026-02-02
  • Java使用IO流實現(xiàn)音頻的剪切和拼接

    Java使用IO流實現(xiàn)音頻的剪切和拼接

    這篇文章主要為大家詳細介紹了Java使用IO流實現(xiàn)音頻的剪切和拼接,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 以Java代碼為例講解設計模式中的簡單工廠模式

    以Java代碼為例講解設計模式中的簡單工廠模式

    簡單來說,工廠模式就是按照需求來返回一個類型的對象,使用工廠模式的意義就是,如果對象的實例化與代碼依賴太大的話,不方便進行擴展和維護,使用工廠的目的就是使對象的實例化與主程序代碼就行解耦.來具體看一下:
    2016-05-05
  • Java 使用Calendar計算時間的示例代碼

    Java 使用Calendar計算時間的示例代碼

    這篇文章主要介紹了Java 使用Calendar計算時間的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10

最新評論

行唐县| 确山县| 高台县| 林甸县| 安顺市| 开鲁县| 封丘县| 洞头县| 额尔古纳市| 卫辉市| 巨野县| 大连市| 舒城县| 赫章县| 宣威市| 公主岭市| 定结县| 邵阳市| 瓮安县| 沁阳市| 新乡县| 三门县| 定安县| 拉萨市| 贡山| 鹤壁市| 吉木萨尔县| 凭祥市| 康乐县| 庐江县| 泊头市| 西乌珠穆沁旗| 焦作市| 赞皇县| 丰宁| 吕梁市| 彩票| 绥中县| 伽师县| 灵宝市| 东光县|