30 Jan 2020
为什么不用stable中的tomcat?呵呵,看不懂,不可控。
个人思路是使用tomcat官方docker镜像先提前配置好,然后只需要给helm传参(image),其他的helm参数可以先提前写好模板。
假设我们有一个前后端分离项目,前端项目web-frontend已经存在,后端项目我们称其为web
创建charts模板web
helm create web
修改service.yaml
vim web/templates/service.yaml
apiVersion: v1 kind: Service spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.port }} targetPort: {{ .Values.template.containerPort }}
修改deployment.yml
vim web/templates/deployment.yaml
apiVersion: apps/v1 kind: Deployment spec: template: spec: containers: image: {{ .Values.image.repository }} ports: - name: http containerPort: {{ .Values.template.containerPort }} protocol: TCP
修改values.yaml
vim web/values.yaml
imagePullSecrets: - name: myregistrykey serviceAccount: create: false securityContext: runAsNonRoot: true runAsUser: 999 runAsGroup: 999 template: containerPort: 8080 service: type: ClusterIP port: 80 ingress: enabled: true hosts: - host: chart-example.local paths: - path: - /
imagePullSecrets,是用来指定从私有镜像仓库下载镜像的auth信息,详情可以参照: pull_image_from_private_registry
helm upgrade --install my-release ./web --set image.repository=<image>