一、openkruise的rollout类
例:

apiVersion: rollouts.kruise.io/v1beta1
kind: Rollout
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: >
      {"apiVersion":"rollouts.kruise.io/v1alpha1","kind":"Rollout","metadata":{"annotations":{"rollouts.kruise.io/rolling-style":"partition"},"name":"aiart-api","namespace":"aiart-release"},"spec":{"objectRef":{"workloadRef":{"apiVersion":"apps/v1","kind":"Deployment","name":"aiart-api"}},"strategy":{"canary":{"patchPodTemplateMetadata":{"labels":{"canary-gray":"gray","version":"canary"}},"steps":[{"matches":[{"headers":[{"name":"User-Agent","type":"Exact","value":"test"}]}],"pause":{},"replicas":3}],"trafficRoutings":[{"ingress":{"name":"aiart-api"},"service":"aiart-api"}]}}}}
    rollouts.kruise.io/hash: fvb4f5bv5w4z88b4zcvb8c27v487wzcvfczd8d9684zd4bczcz984cx4fc7vw478
    rollouts.kruise.io/rolling-style: partition
  creationTimestamp: '2025-08-23T15:08:24Z'
  finalizers:
    - rollouts.kruise.io/rollout
  generation: 1
  managedFields:
    - apiVersion: rollouts.kruise.io/v1beta1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            f:rollouts.kruise.io/hash: {}
          f:finalizers:
            .: {}
            v:"rollouts.kruise.io/rollout": {}
      manager: kruise-rollout
      operation: Update
      time: '2025-08-23T15:08:24Z'
    - apiVersion: rollouts.kruise.io/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:kubectl.kubernetes.io/last-applied-configuration: {}
            f:rollouts.kruise.io/rolling-style: {}
        f:spec:
          .: {}
          f:disabled: {}
          f:objectRef:
            .: {}
            f:workloadRef:
              .: {}
              f:apiVersion: {}
              f:kind: {}
              f:name: {}
          f:strategy:
            .: {}
            f:canary:
              .: {}
              f:patchPodTemplateMetadata:
                .: {}
                f:labels:
                  .: {}
                  f:canary-gray: {}
                  f:version: {}
              f:steps: {}
              f:trafficRoutings: {}
      manager: kubectl-client-side-apply
      operation: Update
      time: '2025-08-23T15:08:24Z'
    - apiVersion: rollouts.kruise.io/v1beta1
      fieldsType: FieldsV1
      fieldsV1:
        f:status:
          f:canaryStatus:
            .: {}
            f:canaryReadyReplicas: {}
            f:canaryReplicas: {}
            f:canaryRevision: {}
            f:currentStepIndex: {}
            f:currentStepState: {}
            f:lastUpdateTime: {}
            f:message: {}
            f:observedWorkloadGeneration: {}
            f:podTemplateHash: {}
            f:rolloutHash: {}
            f:stableRevision: {}
          f:conditions: {}
          f:message: {}
          f:observedGeneration: {}
          f:phase: {}
      manager: kruise-rollout
      operation: Update
      subresource: status
      time: '2025-11-10T18:08:00Z'
  name: aiart-api
  namespace: aiart-release
  resourceVersion: '1762798080730751022'
  uid: 8f72d127-81a2-43d7-97a3-6837547b8b15
spec:
  disabled: false
  strategy:
    canary:
      enableExtraWorkloadForCanary: true
      patchPodTemplateMetadata:
        labels:
          canary-gray: gray
          version: canary
      steps:
        - matches:
            - headers:
                - name: User-Agent
                  type: Exact
                  value: test
          pause: {}
          replicas: 3
      trafficRoutings:
        - ingress:
            name: aiart-api
          service: aiart-api
  workloadRef:
    apiVersion: apps/v1
    kind: Deployment
    name: aiart-api
status:
  canaryStatus:
    canaryReadyReplicas: 3
    canaryReplicas: 3
    canaryRevision: ccd8c9847
    currentStepIndex: 1
    currentStepState: Completed
    lastUpdateTime: '2025-11-10T18:07:56Z'
    message: BatchRelease is at state Ready, rollout-id , step 1
    observedWorkloadGeneration: 7178
    podTemplateHash: 7bbdc44597
    rolloutHash: fvb4f5bv5w4z88b4zcvb8c27v487wzcvfczd8d9684zd4bczcz984cx4fc7vw478
    stableRevision: 776cf867b9
  conditions:
    - lastTransitionTime: '2025-11-10T17:40:05Z'
      lastUpdateTime: '2025-11-10T17:40:05Z'
      message: Rollout progressing has been completed
      reason: Completed
      status: 'False'
      type: Progressing
    - lastTransitionTime: '2025-11-10T18:08:00Z'
      lastUpdateTime: '2025-11-10T18:08:00Z'
      message: ''
      reason: ''
      status: 'True'
      type: Succeeded
  message: Rollout progressing has been completed
  observedGeneration: 1
  phase: Healthy

二、ingrss配置
例:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    field.cattle.io/publicEndpoints: >-
      [{"addresses":["34.168.85.167"],"port":80,"protocol":"HTTP","serviceName":"aiart-release:aiart-api","ingressName":"aiart-release:aiart-api","hostname":"aiart-api.prod.seaart.ai","path":"/","allNodes":false},{"addresses":["34.168.85.167"],"port":80,"protocol":"HTTP","serviceName":"aiart-release:aiart-api","ingressName":"aiart-release:aiart-api","hostname":"aiart-api.prod.seaart.ai","path":"/debug/pprof/","allNodes":false}]
    nginx.ingress.kubernetes.io/whitelist-source-range: >-
      10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,16.162.141.124,101.207.35.85,222.212.90.200,43.249.96.212,43.249.96.186,130.211.0.0/22,35.191.0.0/16,209.85.152.0/22,121.4.125.122,113.89.34.28,35.227.181.116,34.145.9.214,171.223.215.48,112.195.201.166,34.31.89.96,171.223.215.95,101.204.70.131,101.204.187.50
  creationTimestamp: '2024-01-05T03:24:30Z'
  generation: 4
  managedFields:
    - apiVersion: networking.k8s.io/v1
      fieldsType: FieldsV1
      fieldsV1:
        f:status:
          f:loadBalancer:
            f:ingress: {}
      manager: nginx-ingress-controller
      operation: Update
      subresource: status
      time: '2024-01-05T03:25:23Z'
    - apiVersion: networking.k8s.io/v1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:field.cattle.io/publicEndpoints: {}
            f:nginx.ingress.kubernetes.io/whitelist-source-range: {}
        f:spec:
          f:ingressClassName: {}
          f:rules: {}
      manager: agent
      operation: Update
      time: '2025-08-11T02:02:09Z'
  name: aiart-api
  namespace: aiart-release
  resourceVersion: '1211032346'
  uid: 23330b89-280c-400a-a73d-a93c42670a7c
spec:
  ingressClassName: nginx
  rules:
    - host: aiart-api.prod.seaart.ai
      http:
        paths:
          - backend:
              service:
                name: aiart-api
                port:
                  number: 8080
            path: /
            pathType: Prefix
          - backend:
              service:
                name: aiart-api
                port:
                  number: 8081
            path: /debug/pprof/
            pathType: Prefix
status:
  loadBalancer:
    ingress:
      - ip: 34.168.85.167