【云原生】Helm资源清单管理工具

news2024/10/24 13:23:46

资源清单管理工具-Helm

文章目录

  • 资源清单管理工具-Helm
    • 资源列表
    • 基础环境
    • 一、Helm的介绍
      • 1.1、Helm的价值概述
      • 1.2、Helm的关键名词
    • 二、安装部署Helm
      • 2.1、解压安装包
      • 2.2、添加命令补全设置
    • 三、使用Helm部署服务管理
      • 3.1、使用Helm创建chart
      • 3.2、响应式创建名称空间
      • 3.3、安装chart到名称空间
      • 3.4、使用Helm命令查看名称空间下的资源
      • 3.5、修改服务的版本
      • 3.6、卸载chart
    • 四、认识Helm的文件组成
      • 4.1、流程梳理
      • 4.2、查看目录解释说明
    • 五、自定义chart服务的部署
      • 5.1、编辑value.yaml文件(设置变量)
      • 5.2、资源清单引入变量
      • 5.3、编辑安装成功后的显示信息
      • 5.4、安装服务
      • 5.5、查看验证
    • 六、Helm对业务的升级和回滚
      • 6.1、业务升级
      • 6.2、业务回滚
      • 6.3、回滚到指定版本
    • 七、补充:Chart.yaml文件
    • 八、Helm的共有仓库
      • 8.1、主流的chart仓库
      • 8.2、查看现有仓库的信息
      • 8.3、添加共有仓库
      • 8.4、更新仓库信息
      • 8.5、搜索想要的chart
      • 8.6、拉取仓库的chart
      • 8.7、解压第三方的chart压缩包

资源列表

操作系统配置主机名IP
openEuler 22.032C4Gmaster192.168.93.151
openEuler 22.032C4Gnode1192.168.93.152
openEuler 22.032C4Gnode2192.168.93.153

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

一、Helm的介绍

1.1、Helm的价值概述

  • 在一个企业中,可能存在多个不同的应用业务,每个业务可能包含多个yaml资源清单,甚至几十个yaml资源清单,那么对于“运维”和“研发”人员来讲,这么多资源清单,通过人力去区分辨别,即便有名称空间namespace和不同的“路径目录”来进行区分,也是非常吃力的;
  • 所以,我们就需要借助k8s资源清单的管理工具,进行以业务为单位的资源清单管理,通过一些手段,来实现业务的升级、回滚等等操作在一个文件上(通过helm的values.yaml文件),一个文件就能够管理一套业务体系,进而压缩、减轻了运维压力实现高效管理业务的目的;

1.2、Helm的关键名词

  • chart:应用描述,在helm中,一个chart代表一个业务的资源清单相关文件的集合
  • release:基于chart的部署实体,一个chart被helm运行后,会生成一个release实体,这个release实体会在k8s集群中创建对应的资源对象

二、安装部署Helm

  • Helm的安装非常简单,解压软件包后,会有一个二进制文件,放到bin目录下即安装成功

2.1、解压安装包

# 解压目录
[root@master ~]# tar -zxvf helm-v3.12.3-linux-amd64.tar.gz

# 解压后的目录叫linux-admin64
[root@master ~]# mv linux-amd64/helm /usr/local/bin/

# 查看是否可以使用helm
[root@master ~]# helm version
version.BuildInfo{Version:"v3.12.3", GitCommit:"3a31588ad33fe3b89af5a2a54ee1d25bfe6eaa5e", GitTreeState:"clean", GoVersion:"go1.20.7"}

2.2、添加命令补全设置

[root@master ~]# helm completion bash > /usr/share/bash-completion/completions/helm

三、使用Helm部署服务管理

3.1、使用Helm创建chart

  • 创建工作目录
[root@master ~]# mkdir -p /wzh/chart
[root@master ~]# cd /wzh/chart/
  • helm创建chart
[root@master chart]# helm create wzh01
Creating wzh01
  • 此时执行ls查看目录会发现多出一个wzh01的目录,在查看wzh01这个目录下,发现有文件和chart目录
[root@master chart]# ll
总用量 4
drwxr-xr-x 4 root root 4096 1013 09:43 wzh01
[root@master chart]# ll wzh01/
总用量 16
drwxr-xr-x 2 root root 4096 1013 09:43 charts
-rw-r--r-- 1 root root 1141 1013 09:43 Chart.yaml
drwxr-xr-x 3 root root 4096 1013 09:43 templates
-rw-r--r-- 1 root root 1872 1013 09:43 values.yaml

3.2、响应式创建名称空间

[root@master chart]# kubectl create namespace helm-wzh01

[root@master chart]# kubectl get ns
NAME              STATUS   AGE
default           Active   8d
helm-wzh01        Active   14s
kube-node-lease   Active   8d
kube-public       Active   8d
kube-system       Active   8d

3.3、安装chart到名称空间

  • 命令格式:helm install 自定义名称 chart名称 -n 名称空间
# 本次起名为wzh
# chart名称其实就是执行helm create创建出来的的目录
[root@master chart]# helm install wzh wzh01 -n helm-wzh01
NAME: wzh
LAST DEPLOYED: Sun Oct 13 09:47:47 2024
NAMESPACE: helm-wzh01
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace helm-wzh01 -l "app.kubernetes.io/name=wzh01,app.kubernetes.io/instance=wzh" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace helm-wzh01 $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl --namespace helm-wzh01 port-forward $POD_NAME 8080:$CONTAINER_PORT
  • 查看名称空间中的Pod
[root@master chart]# kubectl get pod -o wide -n helm-wzh01 
NAME                        READY   STATUS    RESTARTS   AGE   IP             NODE    NOMINATED NODE   READINESS GATES
wzh-wzh01-694f6cc9f-vz54t   1/1     Running   0          87s   10.244.104.4   node2   <none>           <none>
  • 使用CURL -I访问这个Pod,你会发现使用的镜像尽然是nginx:1.16.0,后续会讲解为什么
[root@master chart]# curl -I 10.244.104.4
HTTP/1.1 200 OK
Server: nginx/1.16.0
Date: Sun, 13 Oct 2024 01:50:29 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 23 Apr 2019 10:18:21 GMT
Connection: keep-alive
ETag: "5cbee66d-264"
Accept-Ranges: bytes

3.4、使用Helm命令查看名称空间下的资源

[root@master chart]# helm list -n helm-wzh01
NAME	NAMESPACE 	REVISION	UPDATED                                	STATUS  	CHART      	APP VERSION
wzh 	helm-wzh01	1       	2024-10-13 09:47:47.737913661 +0800 CST	deployed	wzh01-0.1.0	1.16.0
  • 至此,部署服务就结束了

3.5、修改服务的版本

  • 其实我们创建的默认chart是运维的nginx:1.16.0这个镜像,可以在values.yaml文件中查看到

  • 开始将nginx的版本修改为1.20.1

  • 修改values.yaml中的tag标签版本

[root@master chart]# vim wzh01/values.yaml
image:
  repository: nginx
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: "1.20.1-alpine"  # tag就是镜像的标签
  • 再次安装chart到名称空间
# 这次名称叫wzh01
[root@master chart]# helm install wzh02 wzh01 -n helm-wzh01
  • 查看名称空间下的Pod
[root@master chart]# kubectl get pod -n helm-wzh01 -o wide
NAME                           READY   STATUS    RESTARTS   AGE    IP             NODE    NOMINATED NODE   READINESS GATES
wzh-wzh01-694f6cc9f-vz54t      1/1     Running   0          12m    10.244.104.4   node2   <none>           <none>
wzh02-wzh01-7fc88cf49c-86tzk   1/1     Running   0          3m2s   10.244.104.
  • 访问新的release的Pod
  • 我们修改了values.yaml的tag,再次安装的Pod版本变成了nginx:1.20
[root@master chart]# curl -I 10.244.104.5
HTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Sun, 13 Oct 2024 02:00:44 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 25 May 2021 13:41:16 GMT
Connection: keep-alive
ETag: "60acfe7c-264"
Accept-Ranges: bytes

3.6、卸载chart

[root@master chart]# helm uninstall wzh -n helm-wzh01
release "wzh" uninstalled
  • 查看helm的chart是否被卸载,发现没有第一个chart的release名称了【wzh】
[root@master chart]# helm list -n helm-wzh01
NAME 	NAMESPACE 	REVISION	UPDATED                              STATUS  	CHART      	APP VERSION
wzh02	helm-wzh01	1       	2024-10-13 09:57:34.25827232 +0800 CSdeployed	wzh01-0.1.0	1.16.0 

四、认识Helm的文件组成

4.1、流程梳理

在这里插入图片描述

4.2、查看目录解释说明

[root@master chart]# ls wzh01/
charts  Chart.yaml  templates  values.yaml


templates目录:业务相关所有资源清单+NOTES.txt(NOTES.txt文件的作用是安装成功chart后提示信息)
values.yaml:给业务资源清单传递写好的变量

五、自定义chart服务的部署

5.1、编辑value.yaml文件(设置变量)

  • 本质上就是额设置变量,然后传递给业务yaml文件使用
# 创建一个chart,把所有yaml资源删除,自己编写
[root@master chart]# helm create wzh02
[root@master chart]# rm -rf wzh02/templates/*
[root@master chart]# vim wzh02/values.yaml
# 把里面内容删除掉,自己编写
replicaCount: 6  # Pod副本
image:   
  nginx: 
    repository: nginx   # Pod镜像
    tag: "1.20.1-alpine"  # Pod镜像版本
wzh02:   # 标签
  k8s: wzh02
  kubernetes: k8s
name: wzh02  # Pod名称
version: v1.0  # Pod版本自定义
office: "https://www.wzh.info"  

5.2、资源清单引入变量

[root@master chart]# vim wzh02/templates/deployment.yaml
# 把里面内容删除掉,自己编写
apiVersion: "apps/v1"
kind: Deployment
metadata:
  name: wzh-dm
spec:
  replicas: {{ .Values.replicaCount }}
  selector: 
    matchLabels:
      k8s: {{ .Values.wzh02.k8s }}
  template:
    metadata:
      labels:
        k8s: {{ .Values.wzh02.k8s }}
    spec:
      containers:
      - name: {{ .Values.name }}
        image: {{ .Values.image.nginx.repository }}:{{ .Values.image.nginx.tag }}

5.3、编辑安装成功后的显示信息

[root@master chart]# vim wzh02/templates/NOTES.txt
# 把里面内容删除掉,自己编写
恭喜你,安装成功: 
安装的服务名称是: {{ .Values.name }}
安装的服务版本是: {{ .Values.version }}
官网地址是: {{ .Values.office }}

5.4、安装服务

  • 安装成功的提示信息已经显示出来
[root@master chart]# helm install deploy wzh02 -n helm-wzh01
NAME: deploy
LAST DEPLOYED: Sun Oct 13 11:02:37 2024
NAMESPACE: helm-wzh01
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
恭喜你,安装成功: 
安装的服务名称是: wzh02
安装的服务版本是: v1.0
官网地址是: https://www.wzh.info

5.5、查看验证

  • 查看Pod副本数量
[root@master chart]# kubectl get pod -n helm-wzh01 
NAME                           READY   STATUS    RESTARTS   AGE
wzh-dm-7794577c-lt2vf          1/1     Running   0          11m
wzh-dm-7794577c-nznzl          1/1     Running   0          11m
wzh-dm-7794577c-qmvll          1/1     Running   0          11m
wzh-dm-7794577c-r7s8g          1/1     Running   0          11m
wzh-dm-7794577c-rt6hx          1/1     Running   0          11m
wzh-dm-7794577c-v57lk          1/1     Running   0          11m
wzh02-wzh01-7fc88cf49c-86tzk   1/1     Running   0          76m
  • 查看Helm
[root@master chart]# helm list -n helm-wzh01
NAME  	NAMESPACE 	REVISION	UPDATED                                	STATUS  	CHART      	APP VERSION
deploy	helm-wzh01	1       	2024-10-13 11:02:37.923616486 +0800 CST	deployed	wzh02-0.1.0	1.16.0     
wzh02 	helm-wzh01	1       	2024-10-13 09:57:34.25827232 +0800 CST 	deployed	wzh01-0.1.0	1.16.0  

六、Helm对业务的升级和回滚

6.1、业务升级

  • 查看现有chart
[root@master chart]# helm list -n helm-wzh01
NAME  	NAMESPACE 	REVISION	UPDATED                                	STATUS  	CHART      	APP VERSION
deploy	helm-wzh01	1       	2024-10-13 11:02:37.923616486 +0800 CST	deployed	wzh02-0.1.0	1.16.0     
wzh02 	helm-wzh01	1       	2024-10-13 09:57:34.25827232 +0800 CST 	deployed	wzh01-0.1.0	1.16.0  

# 为了后续的实现,把wzh02chart删除
[root@master chart]# helm uninstall wzh02 -n helm-wzh01
release "wzh02" uninstalled
  • 修改变量文件(values.yaml)
[root@master chart]# cat wzh02/values.yaml 
replicaCount: 6  # Pod副本
image:   
  nginx: 
    repository: nginx   # Pod镜像
    tag: "1.24.0-alpine"  # Pod镜像版本,将nginx1.20版本升级到1.24版本
wzh02:   # 标签
  k8s: wzh02
  kubernetes: k8s
name: wzh02  # Pod名称
version: v1.0  # Pod版本自定义
office: "https://www.wzh.info" 
  • 基于values.yaml文件升级业务
[root@master chart]# helm upgrade deploy wzh02 -n helm-wzh01 
Release "deploy" has been upgraded. Happy Helming!
NAME: deploy
LAST DEPLOYED: Sun Oct 13 11:21:33 2024
NAMESPACE: helm-wzh01
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
恭喜你,安装成功: 
安装的服务名称是: wzh02
安装的服务版本是: v1.0
官网地址是: https://www.wzh.info
  • 查看Pod并且访问
[root@master chart]# kubectl get pod -o wide -n helm-wzh01 
NAME                      READY   STATUS    RESTARTS   AGE     IP               NODE    NOMINATED NODE   READINESS GATES
wzh-dm-66fd67f684-2zrfh   1/1     Running   0          7m24s   10.244.166.137   node1   <none>           <none>
wzh-dm-66fd67f684-c8hgb   1/1     Running   0          7m24s   10.244.104.9     node2   <none>           <none>
wzh-dm-66fd67f684-jh6k2   1/1     Running   0          2m22s   10.244.166.138   node1   <none>           <none>
wzh-dm-66fd67f684-mhgzp   1/1     Running   0          7m24s   10.244.104.10    node2   <none>           <none>
wzh-dm-66fd67f684-q88f4   1/1     Running   0          18s     10.244.166.139   node1   <none>           <none>
wzh-dm-66fd67f684-wg8wc   1/1     Running   0          2m21s   10.244.104.11    node2   <none>           <none>
# 总结:我们把values.yaml文件中nginx版本从1.20替换成1.24,再upgrade升级一下,再次查看发现更新成功,同时使用helm list发现VERSION字段从1变成了2
[root@master chart]# curl -I 10.244.166.137
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Sun, 13 Oct 2024 03:29:16 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Tue, 11 Apr 2023 17:21:57 GMT
Connection: keep-alive
ETag: "64359735-267"
Accept-Ranges: bytes


[root@master chart]# helm list -n helm-wzh01 
NAME  	NAMESPACE 	REVISION	UPDATED                                	STATUS  	CHART      	APP VERSION
deploy	helm-wzh01	2       	2024-10-13 11:21:33.996265014 +0800 CST	deployed	wzh02-0.1.0	1.16.0 
  • 再次修改valuesyaml文件,这次修改副本数量、nginx版本及version版本的变量
[root@master chart]# helm upgrade deploy wzh02 -n helm-wzh01 
Release "deploy" has been upgraded. Happy Helming!
NAME: deploy
LAST DEPLOYED: Sun Oct 13 11:33:46 2024
NAMESPACE: helm-wzh01
STATUS: deployed
REVISION: 3
TEST SUITE: None
NOTES:
恭喜你,安装成功: 
安装的服务名称是: wzh02
安装的服务版本是: v1.0
官网地址是: https://www.wzh.info
  • 再次查看
[root@master chart]# kubectl get pod -n helm-wzh01 -o wide
NAME                      READY   STATUS    RESTARTS   AGE     IP               NODE    NOMINATED NODE   READINESS GATES
wzh-dm-7bfb5d8bcc-2228q   1/1     Running   0          16s     10.244.166.140   node1   <none>           <none>
wzh-dm-7bfb5d8bcc-kxmr9   1/1     Running   0          9m40s   10.244.104.12    node2   <none>           <none>
wzh-dm-7bfb5d8bcc-x95nn   1/1     Running   0          15s     10.244.104.13    node2   <none>           <none>


[root@master chart]# curl -I 10.244.104.13
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Sun, 13 Oct 2024 03:43:14 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 13 Aug 2019 10:05:00 GMT
Connection: keep-alive
ETag: "5d528b4c-264"
Accept-Ranges: bytes

6.2、业务回滚

  • 回滚到上一个版本
[root@master chart]# helm rollback deploy -n helm-wzh01 
Rollback was a success! Happy Helming!
  • 验证是否回到上一个版本
[root@master chart]# kubectl get pod -n helm-wzh01 -o wide
NAME                      READY   STATUS    RESTARTS   AGE   IP               NODE    NOMINATED NODE   READINESS GATES
wzh-dm-66fd67f684-8s8fm   1/1     Running   0          27s   10.244.166.145   node1   <none>           <none>
wzh-dm-66fd67f684-cqsxp   1/1     Running   0          29s   10.244.104.15    node2   <none>           <none>
wzh-dm-66fd67f684-gswks   1/1     Running   0          28s   10.244.166.144   node1   <none>           <none>
wzh-dm-66fd67f684-gzhn9   1/1     Running   0          29s   10.244.104.16    node2   <none>           <none>
wzh-dm-66fd67f684-tks65   1/1     Running   0          27s   10.244.104.17    node2   <none>           <none>
wzh-dm-66fd67f684-wbmb6   1/1     Running   0          29s   10.244.166.143   node1   <none>           <none>
  • 查看镜像版本(此时发现回到了上一个版本,1.24对应6个副本)
[root@master chart]# curl -I 10.244.166.143
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Sun, 13 Oct 2024 03:45:47 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Tue, 11 Apr 2023 17:21:57 GMT
Connection: keep-alive
ETag: "64359735-267"
Accept-Ranges: bytes

6.3、回滚到指定版本

  • 目前的版本序列1.20>1.24>1.16>1.24共计4个版本
# 1就代表第一个版本(1.20)
[root@master chart]# helm rollback deploy 1 -n helm-wzh01 
Rollback was a success! Happy Helming!
  • 查看镜像版本
[root@master chart]# kubectl get pod -n helm-wzh01 -o wide
NAME                    READY   STATUS    RESTARTS   AGE   IP               NODE    NOMINATED NODE   READINESS GATES
wzh-dm-7794577c-68lh8   1/1     Running   0          35s   10.244.104.18    node2   <none>           <none>
wzh-dm-7794577c-gm2kr   1/1     Running   0          34s   10.244.104.20    node2   <none>           <none>
wzh-dm-7794577c-hzdd8   1/1     Running   0          35s   10.244.166.146   node1   <none>           <none>
wzh-dm-7794577c-p7kbn   1/1     Running   0          34s   10.244.166.147   node1   <none>           <none>
wzh-dm-7794577c-v8lw4   1/1     Running   0          34s   10.244.166.148   node1   <none>           <none>
wzh-dm-7794577c-wl9qw   1/1     Running   0          35s   10.244.104.19    node2   <none>           <none>
[root@master chart]# curl -I 10.244.104.19
HTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Sun, 13 Oct 2024 03:48:06 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 25 May 2021 13:41:16 GMT
Connection: keep-alive
ETag: "60acfe7c-264"
Accept-Ranges: bytes

七、补充:Chart.yaml文件

[root@master chart]# grep -v "^#" wzh02/Chart.yaml 
apiVersion: v2
name: wzh02  # chart名称
description: A Helm chart for Kubernetes

type: application

version: 0.1.0  # helm list查询时CHART字段下的后缀

appVersion: "1.16.0"   # helm list查询时的APP VERSION

八、Helm的共有仓库

  • 我们知道,docker拉取镜像时有共有仓库如阿里云、华为云、清华源和私有仓库Harbor
  • 同理,Helm也有这个机制

8.1、主流的chart仓库

# 互联网公开的chart仓库,额可以直接使用他们制作好的包
1,微软仓库:Index of /kubernetes/charts/

2,阿里云仓库:https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

8.2、查看现有仓库的信息

  • 如下所示,默认没有任何仓库地址
[root@master chart]# helm repo list
Error: no repositories to show

8.3、添加共有仓库

# 添加微软云的helm仓库,仓库起名叫azure
[root@master chart]# helm repo add azure http://mirror.azure.cn/kubernetes/charts/
"azure" has been added to your repositories
# 添加阿里云的helm仓库,仓库起名叫aliyun
[root@master chart]# helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
"aliyun" has been added to your repositories

8.4、更新仓库信息

[root@master chart]# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "aliyun" chart repository
...Successfully got an update from the "azure" chart repository
Update Complete. ⎈Happy Helming!
  • 再次查看仓库信息
[root@master chart]# helm repo list
NAME  	URL                                                   
azure 	http://mirror.azure.cn/kubernetes/charts/             
aliyun	https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

8.5、搜索想要的chart

  • 搜索有没有es的chart
[root@master chart]# helm search repo elasticsearch
NAME                         	CHART VERSION	APP VERSION	DESCRIPTION                                       
aliyun/elasticsearch-exporter	0.1.2        	1.0.2      	Elasticsearch stats exporter for Prometheus       
azure/elasticsearch          	1.32.5       	6.8.6      	DEPRECATED Flexible and powerful open source, d...
azure/elasticsearch-curator  	2.2.3        	5.7.6      	DEPRECATED A Helm chart for Elasticsearch Curator 
......

8.6、拉取仓库的chart

[root@master chart]# helm pull aliyun/elasticsearch-exporter
[root@master chart]# ls
elasticsearch-exporter-0.1.2.tgz  wzh01  wzh02

8.7、解压第三方的chart压缩包

[root@master chart]# tar xvf elasticsearch-exporter-0.1.2.tgz
  • 安装chart到默认名称空间下
# 高版本的k8s取消掉了apps/v1beta2的apiversion
[root@master chart]# sed -i "s/v1beta2/v1/g" elasticsearch-exporter/templates/deployment.yaml 
[root@master chart]# helm install es elasticsearch-exporter
NAME: es
LAST DEPLOYED: Sun Oct 13 12:04:24 2024
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=es-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
  • 查看Pod
[root@master chart]# kubectl get pod 
NAME                                         READY   STATUS              RESTARTS   AGE
es-elasticsearch-exporter-7db5d66f4b-zk97l   0/1     Running   0          2m31s
  • 查看chart
[root@master chart]# helm list 
NAME	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART                       	APP VERSION
es  	default  	1       	2024-10-13 12:04:24.281866606 +0800 CST	deployed	elasticsearch-exporter-0.1.2	1.0.2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Arduino的植物状态监测系统

Arduino植物监测/浇水系统 本项目的3D打印及源码开源&#xff0c;可以私信我进行获取 简介 大家好&#xff0c;今天我将向大家介绍一个非常有趣的项目——Arduino植物监测/浇水系统。这个项目利用一些传感器来观察土壤的状况&#xff0c;并根据这些读数来判断植物是否需要浇…

异构环境下统一授权管理系统的兼容性具体如何实现?

在异构环境中&#xff0c;由于不同系统的差异性&#xff0c;实现统一授权管理面临诸多挑战。其中&#xff0c;兼容性问题是关键之一。兼容性的实现不仅关系到不同系统之间的协同工作&#xff0c;还直接影响到整个管理系统的效率和稳定性。 异构系统带来的挑战 异构系统的存在…

手写mybatis之通过注解配置执行SQL语句

前言 可能领导也都觉得可能就是码农不爱说话&#xff0c;其实不爱说话是一方面&#xff0c;但还有另外一方面是有些领导对于码农提出的问题&#xff0c;给出的回复往往是&#xff1a;“你提出这个问题&#xff0c;你就要给出这个问题的解决办法&#xff01;” 所以不同的岗位要…

AD24之铺铜操作

1.选择板框&#xff0c;即机械1层&#xff0c;转换为覆铜 这样顶层就铺好了&#xff0c;还需要铺底层 2.打开底层&#xff0c;选择板框&#xff0c;转换为铺铜&#xff0c;然后给铜皮添加网络和层&#xff0c;最后是铺铜 注意&#xff1a;None铺铜是无效果的&#xff0c;要Ha…

2.使用 Label Studio 标注文本

使用 Label Studio 标注文本 文章目录 使用 Label Studio 标注文本前言Label Studio的简单使用1.创建项目2.添加本地存储3.选择标注模板4.添加数据5.标注6.添加关系 总结 前言 Label Studio是一个开源的功能强大的标注平台&#xff0c;可以标注视频&#xff0c;图片&#xff0…

一个新韭菜的炒股心得

一个新韭菜的炒股心得 前言 股市其实是一场修行。时刻控制人性的弱点。所以量化优势明显&#xff0c;它没有情绪&#xff0c;可以随意止盈止损。我从一个小白一路走过来&#xff0c;发现A股里有学不完的知识,有做不完的功课。我的主要关注点在如何有效实现价值投资(价值投资在…

算法: 位运算题目练习

文章目录 位运算判定字符是否唯一丢失的数字两整数之和只出现一次的数字 II消失的两个数字常见位运算总结 位运算 判定字符是否唯一 有很多解法,比如hash表,或者给字符串排个序,然后遍历… 写这道题时没注意到如果出现奇数个相同字符,此时就应该返回false了. 而不是全部放到位…

智慧高铁站的概念与优势

1. 概念介绍 智慧高铁站是指利用先进的信息技术和智能化手段&#xff0c;对高铁站的运营管理、服务功能、安全保障等方面进行全面升级和优化的现代化交通枢纽。通过数字化、网络化和智能化技术的应用&#xff0c;实现高铁站的智能化管理、便捷化服务和可持续发展&#xff0c;从…

【Linux】Linux进程基础

1.进程介绍与概念 进程的本质是在计算机内存中运⾏的程序&#xff0c;但是这⼀个概念太过于⼴泛 每个应用程序运行于现代操作系统之上时&#xff0c;操作系统会提供一种抽象&#xff0c;好像系统上只有这个程序在运行&#xff0c;所有的硬件资源都被这个程序在使用。这种假象…

ui自动化知识点-web端

UI &#xff1a; User Interface( ⽤户接⼝ - ⽤户界⾯ ) &#xff0c;主要包括&#xff1a; app 、 web ui ⾃动化测试&#xff1a;使⽤⼯具或代码执⾏⽤例的过程 什么样的项⽬适合做⾃动化&#xff1a;1、需要回归测试项⽬&#xff08;甲⽅⾃营项⽬、⾦融、电商&#xff09…

鸿蒙开发 三十七 ArkTs类 class 构造函数

语法格式如下&#xff1a; class 类名{ 字段1:类型 字段2:类型 constructor(参数...) { this.字段 参数 } } 实例化&#xff1a; const 实例1 new 类名(参数...&#xff09;每new一次就去执行一次constructor方法&#xff0c;创建不同的实例。 每次new都要传参数&…

MySQL学习笔记(持续更新,目前到十一章锁)

1、Mysql概述 1.1 数据库相关概念 三个概念&#xff1a;数据库、数据库管理系统、SQL 名称全称简称数据库存储数据的仓库&#xff0c;数据是有组织的进行存储DataBase&#xff08;DB&#xff09;数据库管理系统操纵和管理数据库的大型软件DataBase Mangement System&#xf…

C++ -string -常见用法1

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【C】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 文章目录 &#x1f4a1;前言1.构造函数1.1函数原型1.2用法速览1.3详解() -重点⭐( s) -重点⭐( n, c) -重点⭐( str) -重点⭐( str, pos, len)( s, n) 2.容量函数2.1函数原型2…

github 上将 stable 合并到 master 分支步骤

本地仓库分支&#xff1a;origin 远端仓库分支&#xff1a;upstream 切到非 master 分支上&#xff0c;比如 dev # 本地操作 git branch -D master git fetch upstream master::master git checkout master # 这步是拉取远端 stable 到 master 上&#xff0c;可能会出错误 # fa…

21次惊艳亮相!凯特王妃的秋季时尚造型!在时尚领域她已经无限接近戴安娜王妃

虽然凯特米德尔顿正式成为英国王室成员才刚刚十多年&#xff0c;但很难想象没有她的王室会是什么样子。毕竟&#xff0c;凭借她非凡的风格和不可否认的魅力&#xff0c;威尔士王妃在2011年迅速赢得了我们以及全世界的喜爱。 我们都喜欢关注她的项目以及她和威廉王子的爱情故事…

基于STM32的智能电能表设计

引言 本项目设计了一个基于STM32的智能电能表&#xff0c;能够实时测量电压、电流、功率以及累计的电能消耗。通过ADC模块采集电压和电流信号&#xff0c;结合功率计算算法&#xff0c;系统可以精准地监控家庭或工业设备的电能消耗。该智能电能表还支持远程数据传输和本地数据…

Krea.ai正式发布AI视频集合站:Luma、Runway与可灵的深度整合

引言 在数字内容日益丰富的今天&#xff0c;视频制作的需求呈现爆发式增长。为了满足创作者对高效、创新视频工具的渴求&#xff0c;Krea.ai推出了全新的AI视频集合站。此平台整合了多款领先工具&#xff0c;如Luma、Runway、可灵和Minimax&#xff0c;为用户提供一站式的视频…

【等号绕过】

简介 一、大小于号绕过 上面的<>是不等于的意思 测试注入点&#xff1a; id1 正常输入id1 测试是否有注入id1 and 11%23 提示hacker~ 被过滤了id1 and 1%23 没有被过滤&#xff0c;说明是被过滤&#xff0c;但是没有输出id1 and 1%23 页面有输…

25四非网安保研回忆录(北航网安/东南网安/重大计科等)

目录 0 个人情况 1 夏令营 西南大学计科 西南交通大学计科 重庆大学计科 2 预推免 东南大学网安 北京航空航天大学网安 3 写在最后 0 个人情况 计算机类比较强的四非&#xff0c;信安专业rank1&#xff0c;六级540&#xff0c;竞赛十几个&#xff0c;无论文&#xff…

【Linux网络编程】网络基础 | Socket 编程基础

&#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系列 &#x1f308;Linux学习专栏&#xff1a; 南桥谈Linux &#x1f308;数据结构学习专栏&#xff1a; 数据结构杂谈 &#x1f308;数据…