今天就跟大家聊聊有关如何解析java web项目,k8s的yaml模板,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
apiVersion: apps/v1
kind: Deployment
metadata:
name: projectname-deployment
spec:
replicas: 1
###更新:容器准备完成之后,延迟60s,配合strategy.maxUnavailable: 0时,可以忽略###
#minReadySeconds: 60
###600s之后如果还没有发布成功,就打上标签,不做任何操作,必须大于minReadySeconds###
#progressDeadlineSeconds: 600
strategy:
###升级方式,默认的方式###
type: RollingUpdate
###严格控制,每次升级一个pod,不可用状态为0个pod###
rollingUpdate:
###滚动升级时会先启动1个pod###
maxSurge: 1
###滚动升级时允许的最大不可用的pod个数###
maxUnavailable: 0
selector:
matchLabels:
app: projectname
template:
metadata:
annotations:
###修改值,用于deployment自动更新###
springrain.k8s.version: updateversion
###禁用istio自动注入sidecar###
#sidecar.istio.io/inject: "false"
labels:
app: projectname
version: v1
spec:
containers:
- name: projectname
image: 10.98.239.102:5000/projectname:randomversion
#image: projectname:randomversion
###设置tomcat可以使用的cpu和内存###
resources:
limits:
cpu: "1"
memory: 2Gi
requests:
cpu: "0.5"
memory: 1Gi
###设置tomcat的端口###
ports:
- containerPort: 8080
###
imagePullPolicy: IfNotPresent
env:
- name: JAVA_OPTS
###JDK8 以上的版本不要设置 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap 这两个参数###
value: "-Dfile.encoding=utf-8 -Dsun.jnu.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom"
###value: "-Xms1000m -Xmx2000m -Dfile.encoding=utf-8 -Dsun.jnu.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"
###设置时区###
- name: TZ
value: Asia/Shanghai
###设置编码###
- name: LC_ALL
value: C.UTF-8
- name: LANG
value: C.UTF-8
######健康状态检查 开始######
###kubernetes认为该pod是存活的,不存活则需要重启###
livenessProbe:
httpGet: ###HTTP状态码在200和399之间,则认为容器运转正常###
path: projectliveurl
port: 8080
scheme: HTTP
###
initialDelaySeconds: 120 ###容器启动后第一次执行探测是需要等待多少秒###
timeoutSeconds: 5 ###探测超时时间.默认1秒,最小1秒###
successThreshold: 1 ###探测失败后,最少连续探测成功多少次才被认定为成功.默认是1.对于liveness必须是1.最小值是1.###
failureThreshold: 5 ###探测成功后,最少连续探测失败多少次才被认定为失败.默认是3.最小值是1.###
periodSeconds: 10 ###执行探测的频率.默认是10秒,最小1秒.###
#也可以用这种方法
#exec: 执行命令的方法进行监测,如果其退出码不为0,则认为容器正常
# command:
# - cat
# - /tmp/health
#也可以用这种方法
#tcpSocket: //通过tcpSocket检查健康
# port: number
###kubernetes认为该pod是启动成功的####
readinessProbe:
httpGet:
path: projectliveurl
port: 8080
scheme: HTTP
initialDelaySeconds: 100 ###容器启动后第一次执行探测是需要等待多少秒###
timeoutSeconds: 5 ###探测超时时间.默认1秒,最小1秒###
successThreshold: 1 ###探测失败后,最少连续探测成功多少次才被认定为成功.默认是1.对于liveness必须是1.最小值是1.###
failureThreshold: 5 ###探测成功后,最少连续探测失败多少次才被认定为失败.默认是3.最小值是1.###
periodSeconds: 10 ###执行探测的频率.默认是10秒,最小1秒.###
######健康状态检查 结束######
volumeMounts:
###挂载点###
- mountPath: /usr/local/tomcat/logs
###对应下面卷 cephfs-pvc-pod 的名称###
name: tomcat-pvc
###指定子目录,会在cephfs里创建子文件夹####
subPath: data/dev/tomcat/projectname/logs
####应用上传的upload文件夹###
- mountPath: /usr/local/tomcat/webapps/projectname/upload
name: tomcat-pvc
###指定子目录,会在cephfs里创建子文件夹####
subPath: data/dev/tomcat/projectname/upload
###使用configMap挂载server.xml,只挂载一个文件,需要使用subPath###
#- mountPath: /usr/local/tomcat/conf/server.xml
# name: serverxml-cm
###和下面的volumes.tomcat-configmap的path要对应要对应###
# subPath: serverxmlsubpath
- mountPath: /usr/local/tomcat/conf
name: tomcat-pvc
###和下面的volumes.tomcat-configmap的path要对应要对应###
subPath: basesoft/tomcat-k8s/conf
volumes:
###卷名称,对应上面的挂载名称###
- name: tomcat-pvc
persistentVolumeClaim:
###对应cephfs-pvc.yaml的metadata.name###
claimName: k8s-pvc
#- name: serverxml-cm
# configMap:
###关联configMap###
#name: tomcat-configmap
#items:
#- key: server.xml
#path: serverxmlsubpath
---
###创建 projectname 服务####
apiVersion: v1
kind: Service
metadata:
name: projectname
labels:
app: projectname
spec:
ports:
- port: 8080
targetPort: 8080
nodePort: projectport ###node的端口,用于开发人员直接访问###
##protocol: http ###"SCTP", "TCP", "UDP"###
name: http
###使用NodePort方式,不使用固定虚拟IP###
#clusterIP: 10.98.239.104
selector:
app: projectname
###节点类型是NodePort###
type: NodePort
看完上述内容,你们对如何解析java web项目,k8s的yaml模板有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/baobao/blog/3131130