描述
CanaryDelivery is the Schema for the Canarydeliveries API
类型
object

规格

属性类型描述
apiVersionstring

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kindstring

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadataObjectMeta

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

specobject

CanaryDeliverySpec defines the desired state of CanaryDelivery

statusobject

CanaryDeliveryStatus defines the observed state of CanaryDelivery

.spec

描述
CanaryDeliverySpec defines the desired state of CanaryDelivery
类型
object
必填
targetRef
属性类型描述
analysisobject

Analysis defines the validation process of a release

approvegateboolean
autopromoteboolean
autoscalerRefobject

AutoscalerRef references an autoscaling resource

delivertypestring
failFallBackboolean

if set true,we will rollback canary workload modify

isavaliableboolean
maxResponseTimenumber

the max response time,if larger than will failed,default is 500ms

metricsarray

Metric check list for this canary analysis

minSuccessRatenumber

the min request succress rate,if below,canary will failed,default is 95 percent

promoteboolean
rollbackboolean
targetRefobject

TargetRef references a target resource

.spec.analysis

描述
Analysis defines the validation process of a release
类型
object
属性类型描述
intervalstring

Schedule interval for this canary analysis

iterationsinteger

Number of checks to run for A/B Testing and Blue/Green

matcharray

A/B testing HTTP header match conditions

maxWeightinteger

Max traffic percentage routed to canary

mirrorboolean

Enable traffic mirroring for Blue/Green

stepWeightinteger

Incremental traffic percentage step

stepWeightPromotioninteger

Incremental traffic percentage step for promotion phase

thresholdinteger

Max number of failed checks before the canary is terminated

.spec.analysis.match

描述
A/B testing HTTP header match conditions
类型
array

.spec.analysis.match[]

描述
HttpMatchRequest specifies a set of criterion to be met in order for the rule to be applied to the HTTP request. For example, the following restricts the rule to match only requests where the URL path starts with /ratings/v2/ and the request contains a "cookie" with value "user=jason". apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: ratings-route spec: hosts: - ratings http: - match: - headers: cookie: regex: "^(.*?;)?(user=jason)(;.*)?" uri: prefix: "/ratings/v2/" route: - destination: host: ratings HTTPMatchRequest CANNOT be empty.
类型
object
属性类型描述
authorityobject

HTTP Authority values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match
gatewaysarray

Names of gateways where the rule should be applied to. Gateway names at the top of the VirtualService (if any) are overridden. The gateway match is independent of sourceLabels.

headersobject

The header keys must be lowercase and use hyphen as the separator, e.g. x-request-id. Header values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match Note: The keys uri, scheme, method, and authority will be ignored.
methodobject

HTTP Method values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match
portinteger

Specifies the ports on the host that is being addressed. Many services only expose a single port or label ports with the protocols they support, in these cases it is not required to explicitly select the port.

schemeobject

URI Scheme values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match
sourceLabelsobject

One or more labels that constrain the applicability of a rule to workloads with the given labels. If the VirtualService has a list of gateways specified at the top, it should include the reserved gateway mesh in order for this field to be applicable.

uriobject

URI to match values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match

.spec.analysis.match[].authority

描述
HTTP Authority values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for ECMAscript style regex-based match
类型
object
属性类型描述
exactstring

exact string match

prefixstring

prefix-based match

regexstring

ECMAscript style regex-based match

suffixstring

suffix-based match.

.spec.analysis.match[].gateways

描述
Names of gateways where the rule should be applied to. Gateway names at the top of the VirtualService (if any) are overridden. The gateway match is independent of sourceLabels.
类型
array

.spec.analysis.match[].gateways[]

类型
string

.spec.analysis.match[].headers

描述
The header keys must be lowercase and use hyphen as the separator, e.g. _x-request-id_. Header values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for ECMAscript style regex-based match **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
类型
object

.spec.analysis.match[].method

描述
HTTP Method values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for ECMAscript style regex-based match
类型
object
属性类型描述
exactstring

exact string match

prefixstring

prefix-based match

regexstring

ECMAscript style regex-based match

suffixstring

suffix-based match.

.spec.analysis.match[].scheme

描述
URI Scheme values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for ECMAscript style regex-based match
类型
object
属性类型描述
exactstring

exact string match

prefixstring

prefix-based match

regexstring

ECMAscript style regex-based match

suffixstring

suffix-based match.

.spec.analysis.match[].sourceLabels

描述
One or more labels that constrain the applicability of a rule to workloads with the given labels. If the VirtualService has a list of gateways specified at the top, it should include the reserved gateway `mesh` in order for this field to be applicable.
类型
object

.spec.analysis.match[].uri

描述
URI to match values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for ECMAscript style regex-based match
类型
object
属性类型描述
exactstring

exact string match

prefixstring

prefix-based match

regexstring

ECMAscript style regex-based match

suffixstring

suffix-based match.

.spec.autoscalerRef

描述
AutoscalerRef references an autoscaling resource
类型
object
必填
name
属性类型描述
apiVersionstring

API version of the referent

kindstring

Kind of the referent

namestring

Name of the referent

namespacestring

Namespace of the referent

.spec.metrics

描述
Metric check list for this canary analysis
类型
array

.spec.metrics[]

描述
CanaryMetric holds the reference to metrics used for canary analysis
类型
object
必填
name
属性类型描述
intervalstring

Interval represents the windows size

namestring

Name of the metric

querystring

Prometheus query for this metric (deprecated in favor of TemplateRef)

templateRefobject

TemplateRef references a metric template object

thresholdnumber

Max value accepted for this metric

thresholdRangeobject

Range value accepted for this metric

.spec.metrics[].templateRef

描述
TemplateRef references a metric template object
类型
object
必填
name
属性类型描述
apiVersionstring

API version of the referent

kindstring

Kind of the referent

namestring

Name of the referent

namespacestring

Namespace of the referent

.spec.metrics[].thresholdRange

描述
Range value accepted for this metric
类型
object
属性类型描述
maxnumber

Maximum value

minnumber

Minimum value

.spec.targetRef

描述
TargetRef references a target resource
类型
object
必填
name
属性类型描述
apiVersionstring

API version of the referent

kindstring

Kind of the referent

namestring

Name of the referent

namespacestring

Namespace of the referent

.status

描述
CanaryDeliveryStatus defines the observed state of CanaryDelivery
类型
object
必填
canaryWeightfailedChecksiterationslastInitErrorCountphase
属性类型描述
canaryWeightinteger
canaryreadyboolean
conditionsarray
failedChecksinteger
iterationsinteger
lastAppliedSpecstring
lastInitErrorCountinteger
lastInitErrorDescstring
lastPromotedSpecstring
phasestring

CanaryPhase is a label for the condition of a canary at the current time

trackedConfigsobject

.status.conditions

类型
array

.status.conditions[]

描述
CanaryCondition is a status condition for a Canary
类型
object
必填
statustype
属性类型描述
lastTransitionTimestring

LastTransitionTime of this condition

lastUpdateTimestring

LastUpdateTime of this condition

messagestring

Message associated with this condition

reasonstring

Reason for the current status of this condition

statusstring

Status of this condition

typestring

Type of this condition

.status.trackedConfigs

类型
object

API 端点

可用的 API 端点如下:

  • /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries
    • DELETE: delete collection of CanaryDelivery
    • GET: list objects of kind CanaryDelivery
    • POST: create a new CanaryDelivery
  • /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries/{name}
    • DELETE: delete the specified CanaryDelivery
    • GET: read the specified CanaryDelivery
    • PATCH: partially update the specified CanaryDelivery
    • PUT: replace the specified CanaryDelivery
  • /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries/{name}/status
    • GET: read status of the specified CanaryDelivery
    • PATCH: partially update status of the specified CanaryDelivery
    • PUT: replace status of the specified CanaryDelivery

/apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries

HTTP 方法
DELETE
描述
delete collection of CanaryDelivery
HTTP 响应
HTTP 状态码响应体
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP 方法
GET
描述
list objects of kind CanaryDelivery
HTTP 响应
HTTP 状态码响应体
200 - OKCanaryDeliveryList schema
401 - UnauthorizedEmpty
HTTP 方法
POST
描述
create a new CanaryDelivery
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyCanaryDelivery schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKCanaryDelivery schema
201 - CreatedCanaryDelivery schema
202 - AcceptedCanaryDelivery schema
401 - UnauthorizedEmpty

/apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries/{name}

HTTP 方法
DELETE
描述
delete the specified CanaryDelivery
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
HTTP 响应
HTTP 状态码响应体
200 - OKStatus schema
202 - AcceptedStatus schema
401 - UnauthorizedEmpty
HTTP 方法
GET
描述
read the specified CanaryDelivery
HTTP 响应
HTTP 状态码响应体
200 - OKCanaryDelivery schema
401 - UnauthorizedEmpty
HTTP 方法
PATCH
描述
partially update the specified CanaryDelivery
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP 响应
HTTP 状态码响应体
200 - OKCanaryDelivery schema
401 - UnauthorizedEmpty
HTTP 方法
PUT
描述
replace the specified CanaryDelivery
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyCanaryDelivery schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKCanaryDelivery schema
201 - CreatedCanaryDelivery schema
401 - UnauthorizedEmpty

/apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries/{name}/status

HTTP 方法
GET
描述
read status of the specified CanaryDelivery
HTTP 响应
HTTP 状态码响应体
200 - OKCanaryDelivery schema
401 - UnauthorizedEmpty
HTTP 方法
PATCH
描述
partially update status of the specified CanaryDelivery
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP 响应
HTTP 状态码响应体
200 - OKCanaryDelivery schema
401 - UnauthorizedEmpty
HTTP 方法
PUT
描述
replace status of the specified CanaryDelivery
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyCanaryDelivery schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKCanaryDelivery schema
201 - CreatedCanaryDelivery schema
401 - UnauthorizedEmpty