使用同一套yaml部署多个应用时,yaml应该修改的位置有:
1.资源名字
2.镜像
3.标签
4.副本数
5.端口``
动态渲染
#修改全局变量文件内容
[root@k8s-master ~]# cd mychar/
[root@k8s-master mychar]# vim values.yaml
replica: 1
image: lizhenliang/java-demo
tag: latest
label: java-demo
port: 8080
重新定义yaml文件
[root@k8s-master mychar]# cd templates/
[root@k8s-master templates]# vim nginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-dp
spec:
replicas: {{ .Values.replicas }}
selector:
matchLabels:
app: {{ .Values.label }}
template:
metadata:
labels:
app: {{ .Values.label }}
spec:
containers:
- image: {{ .Values.image }}:{{ .Values.tag}}
name: nginx
[root@k8s-master templates]# vim nginx-svc.yaml
apiVersion: v1
kind: Service
metadata:
labels:
name: {{ .Release.Name }}-svc
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
targetPort: {{ .Values.port }}
nodePort: 30003
selector:
app: {{ .Values.label }}
status:
#测试
[root@k8s-master ~]# helm install --dry-run web1 mychar/
#测试没有问题后可直接安装
[root@k8s-master ~]# helm install web1 mychar/
web验证:http://NodeIP:Port