--- apiVersion: apps.kruise.io/v1beta1 #apiVersion: apps/v1 kind: StatefulSet metadata: name: book-webview-canary namespace: book-webview labels: app: book-webview spec: serviceName: book-webview-canary replicas: 1 selector: matchLabels: app: book-webview-canary template: metadata: labels: app: book-webview-canary spec: readinessGates: - conditionType: InPlaceUpdateReady terminationGracePeriodSeconds: 180 #nodeSelector: # app/role: book-webview dnsPolicy: ClusterFirstWithHostNet dnsConfig: nameservers: - 10.26.22.50 initContainers: - name: init image: hub.evbj.easou.com/dev/busybox command: ['sh', "-c", 'chmod 777 -R /data && mkdir -p /data/project && mkdir -p /data/log'] imagePullPolicy: IfNotPresent 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/esbookweb/1.5.420/esbookweb_1.5.420_bookNameChangeDev_T1.5.418-181429_1.5.420_20221031-113123_RBL/ROOT.war -O /data/project//ROOT.war && md5sum /data/project/ROOT.war'] imagePullPolicy: IfNotPresent volumeMounts: - name: volume mountPath: /data containers: - name: book-webview-canary image: hub.evbj.easou.com/dev/book-webview:v3.1base 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 updateStrategy: type: RollingUpdate rollingUpdate: podUpdatePolicy: InPlaceIfPossible inPlaceUpdateStrategy: gracePeriodSeconds: 10 volumeClaimTemplates: - metadata: name: volume spec: accessModes: ["ReadWriteOnce"] storageClassName: rbd resources: requests: storage: 200Gi --- apiVersion: v1 kind: Service metadata: name: book-webview-canary-svc namespace: book-webview labels: app: book-webview-canary-svc spec: type: NodePort ports: - port: 8080 targetPort: 8080 nodePort: 30101 selector: app: book-webview-canary --- #apiVersion: networking.k8s.io/v1 #kind: Ingress #metadata: # name: book-webview-ingress # namespace: book-webview #spec: #tls: # - hosts: # - dev-book-webview.ieasou.cn # secretName: ieasou.cn # rules: # - host: book-webview-book-webview.ieasou.cn # http: # paths: # - path: / # pathType: Prefix # backend: # service: # name: book-webview-svc # port: # number: 8080 # ingressClassName: nginx