--- #apiVersion: apps.kruise.io/v1beta1 apiVersion: apps/v1 kind: StatefulSet metadata: name: apptj namespace: bi labels: app: apptj spec: serviceName: apptj replicas: 2 selector: matchLabels: app: apptj template: metadata: labels: app: apptj spec: hostNetwork: true terminationGracePeriodSeconds: 30 dnsPolicy: "None" dnsConfig: nameservers: - 223.5.5.5 - 10.108.30.101 searches: - pro.svc.cluster.local - svc.cluster.local - cluster.local options: - name: ndots value: "5" initContainers: - name: init image: hub.evbj.easou.com/dev/busybox command: ['sh', "-c", 'chmod 777 -R /data/ && mkdir -p /data/webapps'] imagePullPolicy: IfNotPresent volumeMounts: - name: volume mountPath: /data - name: init-package image: hub.evbj.easou.com/dev/busybox command: ['sh', '-c', 'rm -rf /data/webapps/* && wget http://10.40.20.61/release/search-wapage/prod-64/easou-bi/1.0.14/easou-bi_1.0.14_addK8s_T-5888_1.0.14_20241216-162719_RBL/ROOT.war -O /data/webapps/ROOT.war && md5sum /data/webapps/ROOT.war'] imagePullPolicy: IfNotPresent volumeMounts: - name: volume mountPath: /data containers: - name: apptj image: hub.evbj.easou.com/bi/apptj:v1base imagePullPolicy: Always ports: - containerPort: 8080 name: port lifecycle: preStop: exec: command: ["/bin/sh","-c","supervisorctl stop all"] volumeMounts: - name: volume mountPath: /data livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 60 periodSeconds: 15 readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 60 periodSeconds: 15 volumeClaimTemplates: - metadata: name: volume spec: accessModes: ["ReadWriteOnce"] storageClassName: rbd resources: requests: storage: 200Gi --- apiVersion: v1 kind: Service metadata: name: apptj-svc namespace: bi labels: app: apptj-svc spec: type: NodePort ports: - port: 8080 targetPort: 8080 nodePort: 30010 selector: app: apptj --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: apptj-ingress namespace: bi annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/affinity-mode: persistent spec: rules: - host: bi-apptj.ieasou.cn http: paths: - path: / pathType: Prefix backend: service: name: apptj-svc port: number: 8080 - host: apptj.appeasou.com http: paths: - path: / pathType: Prefix backend: service: name: apptj-svc port: number: 8080 ingressClassName: nginx