Fixed-%-split is a type of canary rollout strategy. It enables you to experiment while sending a fixed percentage of traffic to each version as shown below.
Platform setup
Follow these steps to install Iter8 and Istio in your K8s cluster.
apiVersion:iter8.tools/v2alpha2kind:Experimentmetadata:name:fixedsplit-expspec:# target identifies the service under experimentation using its fully qualified nametarget:bookinfo-iter8/productpagestrategy:# this experiment will perform an A/B testtestingPattern:A/B# this experiment will not shift traffic during iterationsdeploymentPattern:FixedSplitactions:# when the experiment completes, promote the winning version using kubectl applyfinish:-if:CandidateWon()run:kubectl -n bookinfo-iter8 apply -f https://raw.githubusercontent.com/iter8-tools/iter8/master/samples/istio/quickstart/vs-for-v2.yaml-if:not CandidateWon()run:kubectl -n bookinfo-iter8 apply -f https://raw.githubusercontent.com/iter8-tools/iter8/master/samples/istio/quickstart/vs-for-v1.yamlcriteria:rewards:# (business) reward metric to optimize in this experiment-metric:iter8-istio/user-engagementpreferredDirection:Highobjectives:# used for validating versions-metric:iter8-istio/mean-latencyupperLimit:300-metric:iter8-istio/error-rateupperLimit:"0.01"requestCount:iter8-istio/request-countduration:# product of fields determines length of the experimentintervalSeconds:10iterationsPerLoop:5versionInfo:# information about the app versions used in this experimentbaseline:name:productpage-v1variables:-name:namespace# used by final action if this version is the winnervalue:bookinfo-iter8candidates:-name:productpage-v2variables:-name:namespace# used by final action if this version is the winnervalue:bookinfo-iter8