今天就跟大家聊聊有关如何解析java web项目,k8s的yaml模板,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联公司主要从事成都网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务和田,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
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模板有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。