helm 汇总 : 连接
创建一个自己的Chart
1、创建一个模板
mkdir mycharts
helm create myapp

Chart.yaml: 是描述 chart包的相关信息
charts: 当前chart 是不是需要依赖其他的chart 都放在这里
tmpplates: 资源清单文件
values.yaml : 从资源清单中选出的用户可以修改的一些字段。
2、删除不用的文件
rm -rf templates/*
rm -rf values.yaml

3、编写 template 下的 service 和 deployment 资源清单
vi templates/nodePort.yaml
内容如下
apiVersion: v1
kind: Service
metadata:
labels:
app: myapp-test
name: myapp-test-20260123-svc
spec:
ports:
- name: 8080-80
port: 8080
protocol: TCP
targetPort: 8080
nodePort: 31111
selector:
app: myapp-test
type: NodePort
vi templates/deployment.yaml
内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: myapp-test
name: myapp-test-20260123-deploy
spec:
replicas: 5
selector:
matchLabels:
app: myapp-test
template:
metadata:
labels:
app: myapp-test
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/baimeidashu/myspring:v1.0
name: myapp
然后就是 chart.yaml 文件, 里边的版本号自己可以看着来改。
我这里演示,先不做修改了。
4.发布部署
helm install myapp myapp/


访问服务:
http://10.0.0.101:31111/

注入HELM灵魂
动态注入一些数据
就是动态获取 values.yaml 的文件中的配置信息,类似.evn文件
1、这是一个测试的 myapp chart
2、myapp release 名字:myapp-test-{{ now | date "20060102030405" }}-deploy
3、service 名字:myapp-test-{{ now | date "20060102030405" }}-svc
我们测试一下:
首先
helm create dongtai-myapp/
cd dongtai-myapp
rm -rf templates/*
创建一个文件
vi templates/NOTES.txt
内容如下:
1、这是一个测试的 myapp chart
2、myapp release 名字:myapp-test-{{ now | date "20060102030405" }}-deploy
3、service 名字:myapp-test-{{ now | date "20060102030405" }}-svc
然后:
vi templates/deployment.yaml
内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: myapp-test
name: myapp-test-{{ now | date "20060102030405" }}-deploy
spec:
replicas: {{ .Values.replicaCount }} # 修复此处
selector:
matchLabels:
app: myapp-test
template:
metadata:
labels:
app: myapp-test
spec:
containers:
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
name: myapp
然后
vi templates/service.yaml
内容如下:
apiVersion: v1
kind: Service
metadata:
labels:
app: myapp-test
name: myapp-test-{{ now | date "20060102030405" }}-svc
spec:
ports:
- name: 80-80
port: 8080
protocol: TCP
targetPort: 8080
{{- if eq .Values.service.type "NodePort" }}
nodePort: {{.Values.service.nodeport }}
{{- end }}
selector:
app: myapp-test
type: {{ .Values.service.type | quote }}
然后:
vi values.yaml
内容如下:
replicaCount: 5
image:
repository: registry.cn-hangzhou.aliyuncs.com/baimeidashu/myspring
tag: "v1.0"
service:
type: NodePort
nodeport: 31111
然后执行:
helm install myapp dongtai-myapp/



欢迎来撩 : 汇总all
