--- apiVersion: apps.kruise.io/v1beta1 #apiVersion: apps/v1 kind: StatefulSet metadata: name: book-api namespace: dev labels: app: book-api spec: serviceName: book-api replicas: 2 selector: matchLabels: app: book-api template: metadata: labels: app: book-api spec: readinessGates: - conditionType: InPlaceUpdateReady terminationGracePeriodSeconds: 180 dnsPolicy: ClusterFirstWithHostNet dnsConfig: nameservers: - 223.5.5.5 - 114.114.114.114 initContainers: - name: init image: hub.evbj.easou.com/dev/busybox command: ["chmod","777","-R","/data"] imagePullPolicy: Always volumeMounts: - name: volume mountPath: /data - name: init-package image: hub.evbj.easou.com/dev/busybox command: ['sh', '-c', 'rm -rf /data/project/* && wget http://10.26.22.190/release/app-web/prod-64/novelapi/3.1.278/novelapi_3.1.278_kuaiDu3.15.4Dev_B3.1.277-179663_3.1.278_20220825-112355_RBL/ROOT.war -O /data/project/ROOT.war'] imagePullPolicy: Always volumeMounts: - name: volume mountPath: /data containers: - name: book-api image: hub.evbj.easou.com/dev/book-api:v3.1base imagePullPolicy: Always ports: - containerPort: 8080 name: port volumeMounts: - name: volume mountPath: /data livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 45 periodSeconds: 15 readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 45 periodSeconds: 15 updateStrategy: type: RollingUpdate rollingUpdate: podUpdatePolicy: InPlaceIfPossible inPlaceUpdateStrategy: gracePeriodSeconds: 10 volumeClaimTemplates: - metadata: name: volume spec: accessModes: ["ReadWriteOnce"] storageClassName: ceph-block resources: requests: storage: 200Gi --- apiVersion: v1 kind: Service metadata: name: book-api-svc namespace: dev labels: app: book-api-svc spec: type: NodePort ports: - port: 8080 targetPort: 8080 selector: app: book-api --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: book-api-ingress namespace: dev spec: rules: - host: dev-book-api.ieasou.cn http: paths: - path: / pathType: Prefix backend: service: name: book-api-svc port: number: 8080 ingressClassName: nginx