国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【云原生】kubernetes應(yīng)用程序包管理工具Helm

這篇具有很好參考價(jià)值的文章主要介紹了【云原生】kubernetes應(yīng)用程序包管理工具Helm。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?

【云原生】kubernetes應(yīng)用程序包管理工具Helm,云原生,kubernetes,kubernetes,容器,云原生,原力計(jì)劃

?

Helm

  • 什么是 Helm

  • 安裝 Helm

  • 重要概念

  • 使用 Helm

1 簡介

官網(wǎng)地址: Helm

Helm是一個(gè)Kubernetes應(yīng)用程序包管理工具,它允許你輕松管理和部署Kubernetes應(yīng)用程序。Helm通過使用稱為Charts的預(yù)定義模板來簡化Kubernetes應(yīng)用程序的部署和管理。Chart包含了一組Kubernetes對(duì)象定義,可以描述一個(gè)應(yīng)用程序的完整部署和資源需求,包括Deployment、Service、ConfigMap、Secret等。使用Helm,你可以輕松地安裝、升級(jí)、卸載和回滾Kubernetes應(yīng)用程序。

同時(shí),Helm還提供了一些便捷的功能,如依賴管理、全局變量、條件渲染等,可以幫助你更好地管理應(yīng)用程序的部署。Helm有兩個(gè)主要的組件:Helm客戶端(helm)和Helm服務(wù)器(Tiller)。Helm客戶端可以在本地運(yùn)行,而Tiller則運(yùn)行在Kubernetes集群中,并負(fù)責(zé)將Charts轉(zhuǎn)換為Kubernetes對(duì)象。

2 安裝

下載地址: Releases · helm/helm · GitHub

每個(gè)Helm 版本都提供了各種操作系統(tǒng)的二進(jìn)制版本,這些版本可以手動(dòng)下載和安裝。

  1. 下載 需要的版本

  2. 解壓(tar -zxvf helm-v3.0.0-linux-amd64.tar.gz)

  3. 在解壓目錄中找到helm程序,移動(dòng)到需要的目錄中(mv linux-amd64/helm /usr/local/bin/helm)

  4. 添加倉庫: helm repo add bitnami https://charts.bitnami.com/bitnami

  5. 驗(yàn)證安裝: helm help.

3 重要概念

  • Chart 代表著 Helm 包。它包含在 Kubernetes 集群內(nèi)部運(yùn)行應(yīng)用程序,工具或服務(wù)所需的所有資源定義。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等價(jià)物。

  • Repository(倉庫) 是用來存放和共享 charts 的地方。它就像 Perl 的 CPAN 檔案庫網(wǎng)絡(luò) 或是 Fedora 的 軟件包倉庫,只不過它是供 Kubernetes 包所使用的。

  • Release 是運(yùn)行在 Kubernetes 集群中的 chart 的實(shí)例。一個(gè) chart 通??梢栽谕粋€(gè)集群中安裝多次。每一次安裝都會(huì)創(chuàng)建一個(gè)新的 release。以 MySQL chart為例,如果你想在你的集群中運(yùn)行兩個(gè)數(shù)據(jù)庫,你可以安裝該chart兩次。每一個(gè)數(shù)據(jù)庫都會(huì)擁有它自己的 releaserelease name。

4 使用

4.1 搜索 charts

Helm 自帶一個(gè)強(qiáng)大的搜索命令,可以用來從兩種來源中進(jìn)行搜索:

  • helm search hub 從 Artifact Hub 中查找并列出 helm charts。 Artifact Hub中存放了大量不同的倉庫。

  • helm search repo 從你添加(使用 helm repo add)到本地 helm 客戶端中的倉庫中進(jìn)行查找。該命令基于本地?cái)?shù)據(jù)進(jìn)行搜索,無需連接互聯(lián)網(wǎng)。

4.2 安裝

使用 helm install 命令來安裝一個(gè)新的 helm 包。最簡單的使用方法只需要傳入兩個(gè)參數(shù):你命名的release名字和你想安裝的chart的名稱。

[root@k8s-node1 ~]# helm install nginx bitnami/nginx
NAME: nginx
LAST DEPLOYED: Wed Apr ?5 07:18:04 2023
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: nginx
CHART VERSION: 13.2.34
APP VERSION: 1.23.4
?
** Please be patient while the chart is being deployed **
NGINX can be accessed through the following DNS name from within your cluster:
?
 ?  nginx.kube-system.svc.cluster.local (port 80)
?
To access NGINX from outside the cluster, follow the steps below:
?
1. Get the NGINX URL by running these commands:
?
  NOTE: It may take a few minutes for the LoadBalancer IP to be available.
 ? ? ?  Watch the status with: 'kubectl get svc --namespace kube-system -w nginx'
?
 ? ?export SERVICE_PORT=$(kubectl get --namespace kube-system -o jsonpath="{.spec.ports[0].port}" services nginx)
 ? ?export SERVICE_IP=$(kubectl get svc --namespace kube-system nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
 ? ?echo "http://${SERVICE_IP}:${SERVICE_PORT}"

注意: 安裝chart時(shí)創(chuàng)建了一個(gè)新的 release 對(duì)象。上述發(fā)布被命名為 nginx。 (如果想讓Helm生成一個(gè)名稱,刪除發(fā)布名稱并使用--generate-name。)

helm 安裝順序: Helm | 使用Helm


4.3 查看列表

你可以通過 helm list 命令看到當(dāng)前部署的所有 release:

[root@k8s-node1 ~]# helm list
NAME ?  NAMESPACE ? ? ? REVISION ? ? ?  UPDATED ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? STATUS ? ? ? ?  CHART ? ? ? ? ? APP VERSION
nginx ? kube-system ? ? 1 ? ? ? ? ? ? ? 2023-04-05 07:34:48.421708425 -0400 EDT deployed ? ? ?  nginx-13.2.34 ? 1.23.4 
4.3 查看狀態(tài)

你可以使用 helm status 來追蹤 release 的狀態(tài),或是重新讀取配置信息:

[root@k8s-node1 ~]# helm status nginx
NAME: nginx
LAST DEPLOYED: Wed Apr ?5 07:18:04 2023
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: nginx
CHART VERSION: 13.2.34
APP VERSION: 1.23.4
?
** Please be patient while the chart is being deployed **
NGINX can be accessed through the following DNS name from within your cluster:
?
 ?  nginx.kube-system.svc.cluster.local (port 80)
?
To access NGINX from outside the cluster, follow the steps below:
?
1. Get the NGINX URL by running these commands:
?
  NOTE: It may take a few minutes for the LoadBalancer IP to be available.
 ? ? ?  Watch the status with: 'kubectl get svc --namespace kube-system -w nginx'
?
 ? ?export SERVICE_PORT=$(kubectl get --namespace kube-system -o jsonpath="{.spec.ports[0].port}" services nginx)
 ? ?export SERVICE_IP=$(kubectl get svc --namespace kube-system nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
 ? ?echo "http://${SERVICE_IP}:${SERVICE_PORT}"
4.4 卸載
[root@k8s-node1 ~]# helm uninstall nginx
release "nginx" uninstalled

5 安裝自定義 Chart

上述安裝方式只會(huì)使用 chart 的默認(rèn)配置選項(xiàng)。很多時(shí)候,我們需要自定義 chart 來指定我們想要的配置。

5.1 拉取自定義的 chart
[root@k8s-node1 ~]# helm create app

注意: 當(dāng)前目錄中會(huì)出現(xiàn)一個(gè) nginx-xxx.tgz 文件 這個(gè)文件就是 charts 的包。

5.2 查看 chart 目錄結(jié)構(gòu)
app/
  Chart.yaml
  values.yaml
  charts/
  templates/
  ...
  • templates/ 目錄包括了模板文件。當(dāng)Helm評(píng)估chart時(shí),會(huì)通過模板渲染引擎將所有文件發(fā)送到templates/目錄中。 然后收集模板的結(jié)果并發(fā)送給Kubernetes。

  • values.yaml 文件也導(dǎo)入到了模板。這個(gè)文件包含了chart的 默認(rèn)值 。這些值會(huì)在用戶執(zhí)行helm installhelm upgrade時(shí)被覆蓋。

  • Chart.yaml 文件包含了該chart的描述。你可以從模板中訪問它。charts/目錄 可以 包含其他的chart(稱之為 子chart)。

5.3 自定義模板
$ rm -rf mychart/templates/*
  • 編寫 namespace.yaml

apiVersion: v1
kind: Namespace
metadata:
  name: {{ .Chart.Name }}
  namespace: {{ .Values.namespace }}
  • 編寫 deployment.yml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Chart.Name}}
  namespace: {{.Values.namespace}}
  labels:
 ?  app: {{ .Chart.Name}}
spec:
  replicas: {{ .Values.replicas }}
  template:
 ?  metadata:
 ? ?  name: {{ .Chart.Name}}
 ? ?  labels:
 ? ? ?  app: {{ .Chart.Name}}
 ?  spec:
 ? ?  containers:
 ? ? ?  - name: {{ .Chart.Name}}
 ? ? ? ?  image: {{ .Values.image}}
 ? ? ? ?  imagePullPolicy: {{.Values.imagePullPolicy}}
 ? ? ? ?  ports:
 ? ? ? ? ?  - containerPort: {{.Values.containerPort}}
 ? ?  restartPolicy: {{ .Values.restartPolicy }}
  selector:
 ?  matchLabels:
 ? ?  app: {{ .Chart.Name}}
  • 編寫 service.yml

apiVersion: v1
kind: Service
metadata:
  name: {{.Chart.Name}}
  namespace: {{.Values.namespace}}
spec:
  selector:
 ?  app: {{.Chart.Name}}
  ports:
 ?  - port: {{.Values.service.port}}
 ? ?  targetPort: {{.Values.containerPort}}
  type: {{ .Values.service.type }}
  • 編寫 Chart.yml

apiVersion: v2
name: app
description: A Helm chart for Kubernetes
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
?
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0
?
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"
  • 編寫 values.yaml文章來源地址http://www.zghlxwxcb.cn/news/detail-702707.html

replicas: 1
namespace: app
image: nginx:1.19
imagePullPolicy: IfNotPresent
restartPolicy: Always
containerPort: 80
?
service:
  port: 80
  type: ClusterIP
5.4 驗(yàn)證是否存在錯(cuò)誤
$ helm lint app
5.5 打包自定義 chart
$ helm package app
5.6 安裝 chart
$ helm install app myapp-1.tgz

到了這里,關(guān)于【云原生】kubernetes應(yīng)用程序包管理工具Helm的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 云原生和Kubernetes如何簡化應(yīng)用程序開發(fā)

    在談?wù)摦?dāng)前技術(shù)時(shí),“云計(jì)算”正變得非常普遍,作為開發(fā)人員,將會(huì)繼續(xù)體驗(yàn)使用云計(jì)算應(yīng)用程序的優(yōu)勢;在云計(jì)算中,另一個(gè)正在出現(xiàn)的術(shù)語是云原生。在進(jìn)入實(shí)際話題之前,首先了解一下云原生到底是什么。 深入了解云原生應(yīng)用 現(xiàn)在,世界各地的公司都了解云計(jì)算應(yīng)用

    2024年01月24日
    瀏覽(21)
  • 云原生之深入解析使用Telepresence輕松在本地調(diào)試和開發(fā)Kubernetes應(yīng)用程序

    telepresence 下載:https://www.telepresence.io/docs/latest/install/ kubectl 下載:https://kubernetes.io/docs/tasks/tools/ 如果版本小于 v2.0.3,則需要升級(jí) telepresence(https://www.telepresence.io/docs/latest/instal

    2024年02月02日
    瀏覽(27)
  • Kubernetes管理工具Helm

    Helm 是一個(gè)用于管理 Kubernetes 應(yīng)用程序的工具,它提供了一種簡化和自動(dòng)化部署的方式。在本文中,我將總結(jié)一下我使用 Helm 的經(jīng)驗(yàn)和教訓(xùn)。 首先,我要說的是 Helm 的安裝非常簡單。你只需要下載并安裝 Helm 的二進(jìn)制文件,然后運(yùn)行幾個(gè)命令即可完成安裝。而且,Helm 還提供

    2024年02月12日
    瀏覽(20)
  • 應(yīng)用程序管理工具

    應(yīng)用程序管理工具

    應(yīng)用程序管理是 DevOps 的重要組成部分。它可以定義為在所有階段監(jiān)控和管理軟件應(yīng)用程序的可用性、運(yùn)行狀況、性能和功能的過程,包括規(guī)劃、設(shè)計(jì)、構(gòu)建、測試、部署、維護(hù)和更新。這意味著應(yīng)用程序從概念到停止都受到監(jiān)控。 管理應(yīng)用程序可確保業(yè)務(wù)系統(tǒng)的高效運(yùn)行、

    2024年02月10日
    瀏覽(24)
  • 【云原生,k8s】Helm應(yīng)用包管理器介紹

    【云原生,k8s】Helm應(yīng)用包管理器介紹

    目錄 一、為什么需要Helm? (一)Helm介紹 (二)Helm有3個(gè)重要概念: (三)Helm特點(diǎn) 二、Helm V3變化 (一)架構(gòu)變化 (二)自動(dòng)創(chuàng)建名稱空間 三、Helm應(yīng)用包管理器部署 1、部署Helm客戶端工具 2、Helm常用命令 3、配置國內(nèi)的Chart倉庫 4、使用chart部署一個(gè)Nginx應(yīng)用 5、使用chart部

    2024年02月12日
    瀏覽(25)
  • 【ALM工具軟件】上海道寧與Perforce為您帶來用于整個(gè)生命周期的應(yīng)用程序生命周期管理軟件

    【ALM工具軟件】上海道寧與Perforce為您帶來用于整個(gè)生命周期的應(yīng)用程序生命周期管理軟件

    Helix ALM是 用于整個(gè)生命周期的 應(yīng)用程序生命周期管理的ALM軟件 具有專用于 需求管理(Helix RM)、測試用例管理(Helix TCM) 問題管理(Helix IM)的功能模塊 Helix ALM提供了 無與倫比的可追溯性 您將知道是否已測試并滿足要求 測試運(yùn)行是否已通過(或失?。?以及問題是否已解

    2024年02月09日
    瀏覽(27)
  • 企業(yè)聊天應(yīng)用程序使用 Kubernetes

    客戶端: 在我們的架構(gòu)中,客戶端可以分為三種類型:iOS 和 Android 移動(dòng)應(yīng)用程序以及 Web 聊天。移動(dòng)應(yīng)用程序首先通過 API 網(wǎng)關(guān)服務(wù)與服務(wù)器進(jìn)行通信,其中客戶端會(huì)生成一個(gè)訪問令牌,該令牌將授權(quán)每個(gè)通信和服務(wù)。 網(wǎng)絡(luò)聊天也以相同的方式進(jìn)行通信,并且與 Web 管理應(yīng)用

    2024年02月07日
    瀏覽(20)
  • Epinio:Kubernetes 的應(yīng)用程序開發(fā)引擎

    Epinio:Kubernetes 的應(yīng)用程序開發(fā)引擎

    王海龍,Rancher 中國社區(qū)技術(shù)經(jīng)理,Linux Foundation APAC Evangelist,負(fù)責(zé) Rancher 中國技術(shù)社區(qū)的維護(hù)和運(yùn)營。擁有 9 年的云計(jì)算領(lǐng)域經(jīng)驗(yàn),經(jīng)歷了 OpenStack 到 Kubernetes 的技術(shù)變革,無論底層操作系統(tǒng) Linux,還是虛擬化 KVM 或是 Docker 容器技術(shù)都有豐富的運(yùn)維和實(shí)踐經(jīng)驗(yàn)。 Kubernetes 已成

    2024年02月01日
    瀏覽(22)
  • 自動(dòng)縮放Kubernetes上的Kinesis Data Streams應(yīng)用程序

    自動(dòng)縮放Kubernetes上的Kinesis Data Streams應(yīng)用程序

    想要學(xué)習(xí)如何在Kubernetes上自動(dòng)縮放您的Kinesis Data Streams消費(fèi)者應(yīng)用程序,以便節(jié)省成本并提高資源效率嗎?本文提供了一個(gè)逐步指南,教您如何實(shí)現(xiàn)這一目標(biāo)。 通過利用Kubernetes對(duì)Kinesis消費(fèi)者應(yīng)用程序進(jìn)行自動(dòng)縮放,您可以從其內(nèi)置功能中受益,例如水平Pod自動(dòng)縮放器(Hor

    2024年02月08日
    瀏覽(16)
  • 遷移到云原生:如何使用微服務(wù)遷移應(yīng)用程序

    企業(yè)遇到大規(guī)模部署和監(jiān)督生產(chǎn)中的應(yīng)用程序的任務(wù)。幸運(yùn)的是,我們可以使用大量技術(shù)和工具。然而,從傳統(tǒng)的,整體的結(jié)構(gòu)轉(zhuǎn)變?yōu)樵茟B(tài)一個(gè)人提出了自己的障礙。在這里,您會(huì)發(fā)現(xiàn)將應(yīng)用程序從整體設(shè)置轉(zhuǎn)移到基于微服務(wù)的體系結(jié)構(gòu)時(shí)要進(jìn)行的基本初始步驟列表。 Compa

    2024年02月03日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包