Helm在Kubernetes中的應用部署指南與案例解析

? ? ? ?在上一章節中,我們已經介紹了Helm的部署和基本使用方法。本章將通過實際案例,詳細演示如何使用Helm在Kubernetes集群中部署應用。

一、Helm 核心價值解析

優勢解決的問題類比傳統方式
應用模板化重復編寫 YAML 文件手動編寫 20+ 資源清單文件
版本控制缺乏部署歷史追蹤kubectl apply 無版本記錄
依賴管理多服務依賴關系復雜手動管理數據庫/緩存等依賴
配置繼承環境差異配置混亂復制修改多套 YAML 文件
一鍵部署部署流程碎片化

手動執行 kubectl 命令序列

二、案例-使用helm部署elasticsearch-exporter

1.搜索chart包

helm search repo elasticsearch-exporter

2.下載chart

helm pull aliyun/elasticsearch-exporter

3.解壓

tar xf elasticsearch-exporter-0.1.2.tgz

4.修改模板內容

[root@master-1 ~]# cd elasticsearch-exporter/
[root@master-1 elasticsearch-exporter]# vim templates/deployment.yaml 
apiVersion: apps/v1
...

5.部署chart

[root@master-1 ~]# helm install liux-es-exporter elasticsearch-exporter
NAME: liux
LAST DEPLOYED: Tue Jul 29 15:48:08 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Get the application URL by running these commands:export POD_NAME=$(kubectl get pods --namespace default -l "app=elasticsearch-exporter" -o jsonpath="{.items[0].metadata.name}")echo "Visit http://127.0.0.1:9108/metrics to use your application"kubectl port-forward $POD_NAME 9108:9108 --namespace default[root@master-1 ~]# helm list
[root@master-1 ~]# kubectl get pods,svc

6.測試? ? ??

? ? ? ? 如下圖所示,已經開啟了一個集群內部訪問的ip+端口

? ? ? ?通過集群內部的ip+端口訪問,如下圖所示,已經采集到es的信息了。

三、案例-使用helm部署traefik

1.概述

? ? ? ?Traefik (發音為"traffic") 是一款現代化的反向代理負載均衡器,專為云原生環境(特別是容器和微服務架構)設計。

核心功能:

  • 反向代理:接收外部請求并轉發到內部服務
  • 負載均衡:在多實例間分配請求流量
  • API網關:提供統一的API入口點

使用場景:

  • 作為Kubernetes Ingress Controller
  • 微服務架構的API網關
  • 混合云環境中的統一入口
  • 需要自動SSL證書管理的場景

? ? ? ?traefik特別適合云原生環境,它的自動發現能力和動態配置特性可以大大簡化現代基礎設施的流量管理。

2.部署

2.1?添加helm倉庫
helm repo add my-traefik https://traefik.github.io/charts
2.2?更新倉庫
helm repo update 
2.3 拉取chart
[root@master-1 traefik]# helm search repo traefik
NAME                   	CHART VERSION	APP VERSION	DESCRIPTION                                       
my-traefik/traefik     	36.3.0       	v3.4.3     	A Traefik based Kubernetes ingress controller     
my-traefik/traefik-crds	1.9.0        	           	A Traefik based Kubernetes ingress controller     
my-traefik/traefik-hub 	4.2.0        	v2.11.0    	Traefik Hub Ingress Controller                    
my-traefik/traefik-mesh	4.1.1        	v1.4.8     	Traefik Mesh - Simpler Service Mesh               
my-traefik/traefikee   	4.2.4        	v2.12.4    	Traefik Enterprise is a unified cloud-native ne...#在線拉取
[root@master-1 ~]# helm pull  my-traefik/traefik
#離線下載,找外網下載
https://traefik.github.io/charts/traefik/traefik-36.3.0.tgz#解壓
[root@master-1 traefik]# tar xf traefik-36.3.0.tgz
2.4 按需修改values.yaml?

? ? ? ?我已將鏡像地址修改為阿里云鏡像倉庫,鏡像已成功推送至阿里倉庫

[root@master-1 ~]# cd traefik
[root@master-1 traefik]# vim values.yaml 
image:  # @schema additionalProperties: false# -- Traefik image host registryregistry: registry.cn-hangzhou.aliyuncs.com/liuxing666# -- Traefik image repositoryrepository: traefik# -- defaults to appVersion. It's used for version checking, even prefixed with experimental- or latest-.# When a digest is required, `versionOverride` can be used to set the version.tag: 3.4.3  # @schema type:[string, null]# -- Traefik image pull policypullPolicy: IfNotPresent
...service:...# type: LoadBalancertype: NodePortportstraefik:expose:default: true   #改為true# -- The exposed port for this serviceexposedPort: 8080ingressRoute:dashboard:# -- Create an IngressRoute for the dashboardenabled: true   #改為true
2.5 安裝traefik
[root@master-1 traefik]# cd ../
[root@master-1 ~]# helm install liux-traefik traefik
NAME: liux-traefik
LAST DEPLOYED: Tue Jul 29 16:48:56 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
liux-traefik with registry.cn-hangzhou.aliyuncs.com/liuxing666/traefik:3.4.3 has been deployed successfully on default namespace !
[root@master-1 ~]# helm list
NAME            	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART                       	APP VERSION
liux-traefik    	default  	1       	2025-07-29 16:48:56.333821506 +0800 CST	deployed	traefik-36.3.0              	v3.4.3 

3 測試

[root@master-1 ~]# kubectl get svc,pods
NAME                                              TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                                     AGE
service/kubernetes                                ClusterIP   10.0.0.1     <none>        443/TCP                                     12d
service/liux-es-exporter-elasticsearch-exporter   ClusterIP   10.0.0.73    <none>        9108/TCP                                    112m
service/liux-traefik                              NodePort    10.0.0.2     <none>        8080:43183/TCP,80:31060/TCP,443:34135/TCP   3m34s
service/my-release-my-chart                       ClusterIP   10.0.0.152   <none>        80/TCP                                      4d
service/svc-yiyao                                 NodePort    10.0.0.178   <none>        80:30080/TCP                                5d1hNAME                                                           READY   STATUS    RESTARTS        AGE
pod/liux-es-exporter-elasticsearch-exporter-5d898c656f-cf5j6   1/1     Running   0               112m
pod/liux-traefik-6fb557b449-gr6gk                              1/1     Running   0               3m34s
pod/my-release-my-chart-57d68dc98d-rts84                       1/1     Running   1 (4h19m ago)   4d
pod/nfs-client-provisioner-56cc478696-x8r6c                    1/1     Running   6 (4h19m ago)   7d2h
[root@master-1 ~]# helm list
NAME            	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART                       	APP VERSION
liux-es-exporter	default  	1       	2025-07-29 15:49:22.030119271 +0800 CST	deployed	elasticsearch-exporter-0.1.2	1.0.2      
liux-traefik    	default  	1       	2025-07-29 17:37:51.504054285 +0800 CST	deployed	traefik-36.3.0              	v3.4.3  

? ? ? ?如圖所示,Dashboard 服務已通過 NodePort 方式暴露,端口號為 43183。用戶可通過任意節點 IP 地址加端口 43183 進行訪問,訪問格式為:`http://<節點IP>:43183。?如下圖,一個完整的traefik已經部署好了。

?4.優化

[root@master-1 ~]# vim traefik/values.yaml 
...
# 資源限制
resources:requests:memory: "256Mi"cpu: "100m"limits:memory: "512Mi"cpu: "500m"

?四、故障排查命令

# 查看 Traefik 日志
kubectl logs  deploy/liux-traefik -f# 檢查配置狀態
kubectl exec  deploy/liux-traefik-- traefik debug# 查看路由表
kubectl exec  deploy/liux-traefik-- traefik dashboard --help# 診斷證書問題
kubectl describe certificaterequest

? ? ? ?本文通過兩個實際案例演示了如何使用Helm在Kubernetes集群中部署應用。首先解析了Helm的核心價值,包括模板化、版本控制、依賴管理等優勢。然后詳細展示了部署elasticsearch-exporter和Traefik的完整流程:從搜索/拉取Chart包、修改配置參數,到安裝部署和測試驗證。特別針對Traefik部署進行了重點說明,包括修改鏡像源、暴露Dashboard服務、資源限制優化等關鍵步驟,并提供了故障排查命令。案例證明Helm能有效簡化Kubernetes應用部署,提升運維效率。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91518.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何最簡單、通俗地理解線性回歸算法? 線性回歸模型在非線性數據上擬合效果不佳,如何在保持模型簡單性的同時改進擬合能力?

線性回歸作為統計學與機器學習領域中最基礎且最重要的算法之一&#xff0c;其應用廣泛且深遠。它不僅是回歸分析的入門方法&#xff0c;更是后續復雜模型構建的重要理論基礎。理解線性回歸算法的本質&#xff0c;既有助于提升數據分析的能力&#xff0c;也能為掌握更復雜的機器…

藍橋杯----超聲波

&#xff08;一&#xff09;、超聲波1、原理&#xff08;圖 一&#xff09;發送信號階段&#xff1a;單片機通過翻轉發送的引腳P1^0&#xff0c;發送8個40MHZ的方波&#xff0c;此時開始計時。等待接收信號&#xff1a;通過單片機的接收引腳P1^1檢測&#xff0c;未接收到信號時…

Java學習-運算符

1.在代碼中&#xff0c;如果有小數參與計算&#xff0c;結果有可能不精確。2.整數參與計算&#xff0c;結果只能是整數。3.數字進行運算時&#xff0c;數據類型不一樣不能運算&#xff0c;需要轉成一樣的&#xff0c;才能運算。&#xff08;1&#xff09;隱式轉換&#xff08;自…

一句話指令實現“2D轉3D”、“圖片提取線稿”

你是否曾為一張2D圖片無法完美展示3D效果而遺憾&#xff1f;是否曾因需要將手繪草圖轉為清晰線稿而耗時費力&#xff1f;這些曾讓設計師、電商賣家、內容創作者頭疼的難題&#xff0c;如今只需一句話指令&#xff0c;即可迎刃而解。一、案例一&#xff1a;2D圖片→3D模型痛點場…

層次聚類:無需“猜”K值,如何讓數據自己畫出“家族圖譜”?

層次聚類&#xff1a;無需“猜”K值&#xff0c;如何讓數據自己畫出“家族圖譜”&#xff1f;&#x1f44b; 大家好&#xff0c;我是小瑞瑞&#xff01;歡迎回到我的專欄&#xff01; 在上一期&#xff0c;我們學會了強大的K-Means算法&#xff0c;但它也給我們留下了一個“靈魂…

數據結構:鏈表(Linked List)

目錄 結構推導 回到最原始的問題 —— 我們如何存數據&#xff1f; 第二步&#xff1a;我們來看看數組的限制 第三步&#xff1a;那我們該怎么做呢&#xff1f; 第四步&#xff1a;我們推導鏈表的數據結構 結構講解 什么是鏈表&#xff1f; 什么是節點&#xff1f; …

[RK3566-Android11] U盤頻繁快速插拔識別問題

問題描述 做老化測試時&#xff0c;在使用U盤頻繁快速插拔的情況下&#xff0c;SDCard目錄會突然被Kill掉&#xff0c;然后又重新掛載上&#xff0c;這會導致系統及APP的數據因為讀寫異常&#xff0c;從而界面卡死正常U盤插拔不應該導致內部存儲卸載解決方案&#xff1a; SDK根…

【Golang】Go語言Map數據類型

Go語言Map數據類型 文章目錄Go語言Map數據類型一、Map1.1.1、map定義1.1.2、map的基本使用1.1.3、判斷某個鍵是否存在1.1.4、map的遍歷1.1.5、使用delete()函數刪除鍵值對1.1.6、按照指定順序遍歷map1.1.7、元素為map類型的切片1.1.8、值為切片類型的map一、Map map是一種無序…

Orange的運維學習日記--23.Linux計劃任務詳解

Orange的運維學習日記–23.Linux計劃任務詳解 文章目錄Orange的運維學習日記--23.Linux計劃任務詳解一次性計劃任務atd 服務at 命令基本語法交互式示例腳本文件示例timespec 格式示例查看與管理任務查看當前隊列查看任務詳細內容刪除任務用戶權限控制用戶周期性計劃任務查看任務…

Ubuntu 24.04.2 LTS 安裝mysql8.0.36保姆級教程(從安裝到遠程連接)

目錄 前言 一、系統準備 二、安裝 MySQL 8.0.36 1. 查看可用版本 2.如果沒有對應版本則需要手動下載mysql-apt-config&#xff08;有則跳過&#xff09; 2.1下圖是mysql-apt-config各版本對應的mysql版本 2.2下載mysql apt repository 2.3安裝 MySQL APT Repository 包 …

【LLM】講清楚MLA原理

需要你對MHA、MQA、GQA有足夠了解&#xff0c;相信本文能幫助你對MLA有新的認識。 本文內容都來自https://www.youtube.com/watch?v0VLAoVGf_74&#xff0c;如果閱讀本文出現問題&#xff0c;建議直接去看一遍。 按照Deepseek設定一些參數值&#xff1a;輸入token長度n10&…

谷歌采用 Ligero 構建其 ZK 技術棧

1. 引言 前序博客有&#xff1a; Ligero 和 Ligetron 中的 MPC 和 ZKLigetron&#xff1a;Nim Network開發的針對AI的zkVMLigetron&#xff1a;基于MPC-In-The-Head范式的zkVM簡介 在隱私保護身份驗證領域邁出重要一步&#xff0c;谷歌最近宣布 將零知識證明&#xff08;ZKP…

Flutter渲染引擎:Impeller和Skia

一、Impeller 渲染引擎的發布時間Impeller 是 Flutter 團隊為解決 Skia 引擎在移動端&#xff08;尤其是 iOS 平臺&#xff09;的性能問題而開發的全新渲染引擎&#xff0c;其發展歷程如下&#xff1a;首次公開&#xff1a;2021 年 Google I/O 大會上首次提及&#xff0c;作為 …

網絡編程-加密算法

目錄 一.網絡編程基礎 1. 概述 2. IP地址 3. 域名 4. 網絡模型 5. 常用協議 6. 小結 二.TCP編程 1. 什么是Socket&#xff1f; 2. 服務器端 3. 客戶端 4. Socket流 5. 小結 三.UDP編程 1. 概述 2. 服務器端 3. 客戶端 4. 小結 案例&#xff1a; 四.加密算法 …

【網絡工程師軟考版】網絡安全

任何形式的網絡服務都會導致安全方面的風險&#xff0c;問題是如何將風險降到最低程度&#xff0c;目前的網絡安全措施有數據加密、數字簽名、身份認證、防火墻、特征過濾等。所涉內容&#xff1a;1、網絡安全基礎2、加密技術與哈希算法3、數字簽名4、數字證書5、VPN技術6、防火…

深入淺出設計模式——創建型模式之建造者模式 Builder

文章目錄建造者模式簡介建造者模式結構建造者模式代碼實例定義產品類House定義建造者定義抽象建造者AbstractBuilder定義具體建造者定義指揮者客戶端代碼示例運行結果建造者模式總結代碼倉庫建一棟房子總共分幾步&#xff1f;建造者模式告訴你答案&#xff01;“把大象裝冰箱&a…

OpenVLA: 論文閱讀 -- 開源視覺-語言-行動模型

更多內容&#xff1a;XiaoJ的知識星球 目錄OpenVLA&#xff1a;開源視覺-語言-行動模型1. 介紹2. 相關工作1&#xff09;視覺條件語言模型&#xff08;Visually-Conditioned Language Models&#xff09;2&#xff09;通用型機器人策略&#xff08;Generalist Robot Policies&a…

JavaWeb(蒼穹外賣)--學習筆記15(分頁查詢PageHelper)

前言 終于開始學習做項目了&#xff0c;本篇文章是學習B站黑馬程序員蒼穹外賣的學習筆記&#x1f4d1;。我的學習路線是Java基礎語法-JavaWeb-做項目&#xff0c;管理端的功能學習完之后&#xff0c;就進入到了用戶端微信小程序的開發&#xff0c;這篇文章來看看分頁查詢&#…

金融專題|某跨境支付機構:以榫卯企業云平臺 VPC 功能保障業務主體安全

作者&#xff1a;SmartX 金融團隊 金融機構在信息化建設時面臨諸多數據合規要求&#xff0c;例如&#xff1a;不同業務區域之間互相隔離、數據庫僅能由關聯的應用服務器訪問、僅有特定的服務器允許被外網訪問等。對此&#xff0c;某跨境支付機構以 SmartX 榫卯企業云平臺構建私…

Win10下python環境變量呼出微軟應用商店

以下是三種徹底解決 Windows 10 的 CMD 中運行 python 命令彈出應用商店問題的方法??方法一&#xff1a;調整環境變量優先級?-或者直接刪除微軟應用商店的環境變量%USERPROFILE%\AppData\Local\Microsoft\WindowsApp???操作步驟??打開系統環境變量設置&#xff08;右鍵…