当前位置: 首页 > wzjs >正文

西宁公司网站设计郑州经济技术开发区实验中学

西宁公司网站设计,郑州经济技术开发区实验中学,c2c网站代表,企业邮箱注册申请163Helm 概述 helm:一个简化Kubernetes应用程序部署的软件包管理器。 几乎每种编程语言和操作系统都有自己的软件包管理器,以帮助安装和维护软件。Helm 提供了与许多您可能已经熟悉的软件包管理器(如 Debian 的 apt 或 Python 的 pip&#xff…

Helm 概述

helm:一个简化Kubernetes应用程序部署的软件包管理器。

几乎每种编程语言和操作系统都有自己的软件包管理器,以帮助安装和维护软件。Helm 提供了与许多您可能已经熟悉的软件包管理器(如 Debian 的 apt 或 Python 的 pip)相同的基本功能集。

Helm 可以:

  • 安装软件。
  • 自动安装软件依赖项。
  • 升级软件。
  • 配置软件部署。
  • 从存储库获取软件包。

helm目录结构

chart是一个组织在文件目录中的集合。目录名称就是chart名称(没有版本信息)

mservice-charts/Chart.yaml          # 包含了chart信息的YAML文件LICENSE             # 可选: 包含chart许可证的纯文本文件README.md           # 可选: 可读的README文件values.yaml         # chart 默认的配置值values.schema.json  # 可选: 一个使用JSON结构的values.yaml文件charts/             # 包含chart依赖的其他chartcrds/               # 自定义资源的定义templates/          # 模板目录, 当和values 结合时,可生成有效的Kubernetes manifest文件templates/NOTES.txt # 可选: 包含简要使用说明的纯文本文件templates/deployment.yamltemplates/service.yaml

mservice-charts是我们创建的一个charts。

deployment.yaml和service.yaml是通用的模板文件,将值抽取出来做成了变量。

values.yaml文件是默认加载的,其它的像dev-values.yaml文件需要根据选择用 -f 导入。

快速部署微服务到k8s

创建模板

包括三个文件:deployment.yaml、service.yaml、values.yaml

deployment.yaml: 对应k8s的deployment文件
service.yam:对应k8s的service
values:保存上面两个文件中的变量

文件内容如下:

deployment.yaml

apiVersion: apps/v1
kind: {{ .Values.kind }}
metadata:name: {{ .Values.name }}namespace: {{ .Values.namespace }}labels:app: {{ .Values.name }}
spec:revisionHistoryLimit: 3replicas:2selector:matchLabels:app: {{ .Values.name }}template:metadata:labels:app: {{ .Values.name }}spec:initContainers:- name: init-logsimage: busyboximagePullPolicy: IfNotPresentcommand:- sh- -c- |mkdir -p /var/log/leve/{{ if eq .Values.namespace "default" }}test{{ else }}dev{{ end }}/{{ .Values.name }}mkdir -p /opt/nfsvolumeMounts:- name: app-logsmountPath: /var/log/leve{{- if .Values.nfs }}- name: nfs-servicemountPath: /opt/nfs{{- end }}serviceAccountName: defaulttopologySpreadConstraints:- maxSkew: 1topologyKey: zonewhenUnsatisfiable: DoNotSchedulelabelSelector:matchLabels:app: {{ .Values.name }}volumes:- name: app-logshostPath:path: /var/log/leve{{- if eq .Values.namespace "default" }}- name: ssl-certsecret:secretName: keystore-secret{{- end }}{{- if .Values.nfs }}- name: nfs-servicenfs:path: /nfs_data/service/{{ .Values.namespace }}/{{ .Values.name }}server: nfs.leve.com{{- end }}containers:- name: {{ .Values.name }}image: nexus.lll.com:6000/{{ .Values.name }}:2.0.0-{{ .Values.version }}-SNAPSHOTimagePullPolicy: IfNotPresentvolumeMounts:- name: app-logsmountPath: /var/log/leve{{- if eq .Values.namespace "default" }}- name: ssl-certmountPath: /ssl/certreadOnly: true{{- end }}{{- if .Values.nfs }}- name: nfs-servicemountPath: /opt/nfs{{- end }}ports:- name: rest-apicontainerPort: {{ .Values.port }}hostPort: {{ .Values.port }}readinessProbe:httpGet:path: /actuator/health/readinessport: {{ .Values.port }}scheme: {{ if eq .Values.namespace "default" -}} HTTPS {{- else -}} HTTP {{- end }}periodSeconds: 5livenessProbe:httpGet:path: /actuator/health/livenessport: {{ .Values.port }}scheme: {{ if eq .Values.namespace "default" -}} HTTPS {{- else -}} HTTP {{- end }}periodSeconds: 5startupProbe:httpGet:path: /actuator/healthport: {{ .Values.port }}scheme: {{ if eq .Values.namespace "default" -}} HTTPS {{- else -}} HTTP {{- end }}initialDelaySeconds: 50periodSeconds: 5failureThreshold: 50resources:limits:cpu: '2'memory: {{ .Values.memory }}requests:cpu: '0.3'memory: {{ .Values.memory }}env:- name: SPRING_PROFILES_ACTIVEvalue: {{ if eq .Values.namespace "default" -}} "test" {{- else -}} "dev" {{- end }}- name: JAVA_TOOL_OPTIONSvalue: >-{{ if eq .Values.namespace "default" -}}-Xlog:gc*,age*=trace,gc+heap=trace,ref*=debug,safepoint:file=/var/log/leve/test/{{ .Values.name }}/gc-%p-%t.log:tags,uptime,time,level:filecount=2,filesize=50m{{- else -}}-Xlog:gc*,age*=trace,gc+heap=trace,ref*=debug,safepoint:file=/var/log/leve/dev/{{ .Values.name }}/gc-%p-%t.log:tags,uptime,time,level:filecount=2,filesize=50m{{- end }}

service.yaml

apiVersion: v1
kind: Service
metadata:name: {{ .Values.name }}namespace: {{ .Values.namespace }}labels:app: {{ .Values.name }}secured: {{ if eq .Values.namespace "default" }}'true'{{- else }}'false'{{- end }}
spec:type: NodePortselector:app: {{ .Values.name }}ports:- name: restport: {{ .Values.port }}targetPort: {{ .Values.port }}nodePort: {{ .Values.nodePort }}

values.yaml

# 命名空间,例如:dev
namespace:
# 服务名称,不要带下划线或者横杠,统一命名,例如:authghost,vanityfair
name:
# 服务端口号,例如:8118
port:
# k8s上面的service端口号,例如:31208
nodePort:
# 镜像版本号,可以在jenkins上面看 示例:12126-3
version:
# pod的内存大小 要带单位 示例:700Mi
memory: 700Mi
# 是否开启nfs挂载,示例:true
# 开启nfs挂载后,默认挂载nfs服务器的/nfs_data/service/<命名空间>/<服务名称>,k8s上面的pod的挂载路径为/opt/nfs
# nfs服务器上面的挂载路径要自己创建
nfs: false
# 默认为 Deployment 某些服务为 StatefulSet
kind: Deployment

部署微服务

修改values.yaml文件里的变量到对应的值,
运行下面的命令:

helm upgrade --install user /opt/mservice-charts -n dev -f /opt/mservice-charts/values.yaml

要是运行失败可以在后面添加参数 --debug 来显示日志

user:服务名字,helm通过这个名字来管理

更新微服务

已经部署的微服务实例,快速更新镜像版本:

helm upgrade user /opt/mservice-charts/ -n dev --reuse-values --set version=13583-1

user: 微服务名

version:values.yaml文件内定义的微服务版本号

删除微服务

helm delete -n dev user

helm常用命令

检查配置

helm lint ./leve-charts -f leve-charts/dev-valus.yaml --namespace dev --set name=user,port=8118,nodePort=31208

根据配置输出yaml

helm template dev-user ./leve-charts  -f leve-charts/dev-valus.yaml --namespace dev --set name=user,port=8118,nodePort=31208

修改配置

helm upgrade dev-faces ./leve-charts  -f leve-charts/dev-valus.yaml --namespace dev --set name=faces,port=8118,nodePort=31208

参考
命令详情:https://helm.sh/zh/docs/intro/using_helm/

charts:https://helm.sh/zh/docs/topics/charts/

helm模板的管道用法:https://helm.sh/zh/docs/chart_template_guide/control_structures/

文件下载:https://download.csdn.net/download/xgw1010/90963543


文章转载自:

http://Y3PdxZAY.cyjjp.cn
http://zRcVnxws.cyjjp.cn
http://ukVVaF2D.cyjjp.cn
http://djzHViZk.cyjjp.cn
http://DUHbJOdt.cyjjp.cn
http://UbitgqGM.cyjjp.cn
http://TpFQzCvO.cyjjp.cn
http://a7omZVUX.cyjjp.cn
http://Zb5mgz6S.cyjjp.cn
http://bvdXOXi7.cyjjp.cn
http://qLgrOr6l.cyjjp.cn
http://2P7OGASB.cyjjp.cn
http://GIuwnVwt.cyjjp.cn
http://T9BhZAYq.cyjjp.cn
http://1o8jJmah.cyjjp.cn
http://s0exA83F.cyjjp.cn
http://DZAweqRq.cyjjp.cn
http://3YhinA63.cyjjp.cn
http://3tLNay5C.cyjjp.cn
http://AaOI8vCD.cyjjp.cn
http://dIR18zBF.cyjjp.cn
http://YQEUC28H.cyjjp.cn
http://17DvankK.cyjjp.cn
http://HANjHmPl.cyjjp.cn
http://Tl8yWOlv.cyjjp.cn
http://0rMvGmQO.cyjjp.cn
http://zhILNcq2.cyjjp.cn
http://zpAYgiCr.cyjjp.cn
http://yQEpWIRX.cyjjp.cn
http://D8ZwurJQ.cyjjp.cn
http://www.dtcms.com/wzjs/607350.html

相关文章:

  • 网站开发设计前景新手网站
  • 一级a做爰片365网站网站开发毕业设计说明书范文
  • 秦皇岛网站男生做污污事的视频网站
  • 网站结构优化的内容和方法网站建设公司止一se0
  • 想建设一个网站 一般多少钱如何把网站提交给百度
  • 建站公司还赚钱吗广州网站设计开发
  • 太原网站搜索引擎优化广告东莞网站建设技术支持
  • 桂林市做网站的公司门户网站素材
  • 做网站头文件做现货需要关注的网站
  • 什么专业会做网站网页升级紧急通知91
  • 如何通过网站做网上报名系统河南做网站的公司有哪些
  • 怎么做网站差不多站长中铁建设集团官网
  • 学做窗帘的网站网站建设优化的作用
  • 企业做网站哪个最好app企业网站
  • 各大免费推广网站微商城网站建设新闻
  • 视频解析网站怎么做的分类信息网站开发教程
  • 网站维护 上海国内搜索引擎大全
  • 搜索别人的网站是带logo的请问怎么做的类似源码之家的网站
  • 网站建设未来发展前景北京昌平区
  • wordpress做淘客网站wordpress logo在哪里改
  • 网站建设评分郑州官网优化推广
  • 网站开发需要掌握的哪些开发软件有源码如何搭建app
  • 台州网站搜索优化建设网站域名的选择
  • 可信网站认证收费吗深圳无间设计
  • ps如何做网站超级链接php网站开发需要学哪些
  • it初学者做网站湖北工程建设信息网站
  • 优秀定制网站建设案例wordpress 更换域名
  • wordpress主题模板江苏网站seo设计
  • 汕头建站网站模板免费网站域名和空间
  • 柳州建设局网站wordpress星评分