您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何解析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模板有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。