千家信息网

如何解析java web项目,k8s的yaml模板

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,今天就跟大家聊聊有关如何解析java web项目,k8s的yaml模板,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。apiVersion: a
千家信息网最后更新 2025年02月05日如何解析java web项目,k8s的yaml模板

今天就跟大家聊聊有关如何解析java web项目,k8s的yaml模板,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

apiVersion: apps/v1kind: Deploymentmetadata:  name: projectname-deploymentspec:  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: v1kind: Servicemetadata:  name: projectname  labels:    app: projectnamespec:  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模板有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0