标签:pod api 同步 命名空间 路由 metadata 样本 path 获取
子集(Subset)
,也经常被称为 服务版本
。DestinationRule
,样例如下:cat flaskapp-destinationrule.yaml
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: flaskapp
spec:
host: flaskapp.default.svc.cluster.local
trafficPolicy:
loadBalancer:
simple: LEAST_CONN
subsets:
- name: v1
labels:
version: v1
trafficPolicy:
loadBalancer: ROUND_ROBIN
- name: v2
labels:
version: v2
规则需要注意的地方如下:
Service
资源,或1个 ServiceEntry
定义的外部服务。
DestinationRule
与 Subset
都可以定义,Subset
中的级别更高。cat flaskapp-default-vs.yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: flaskapp
spec:
hosts:
- flaskapp.default.svc.cluster.local
http:
- route:
- destination:
host: flaskapp.default.svc.cluster.local
subset: v1
hosts
字段是一个数组内容,可以针对多个主机名进行工作。http
,tcp
,tls
等。http
的下一级,即具体的路由规则。
# 应用目标规则与默认路由
kubectl apply -f flaskapp-destinationrule.yaml
kubectl apply -f flaskapp-default-vs.yaml
# 验证,可同步观察 kiali & Jaeger 等
kubectl exec -it -c sleep $(kubectl get pod -l app=sleep,version=v1 -o jsonpath=‘{.items..metadata.name}‘) /bin/bash
bash-4.4# for i in `seq 100` ; do http --body http://flaskapp.default/env/version ; done
在 istio 中部署1个业务应用时,建议:
app
标签表明应用身份;version
标签表明应用版本;cat flaskapp-default-vs.yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: flaskapp
spec:
hosts:
- flaskapp.default.svc.cluster.local
http:
- route:
- destination:
host: flaskapp.default.svc.cluster.local
subset: v1
weight: 70
- destination:
host: flaskapp.default.svc.cluster.local
subset: v2
weight: 30
# 应用
kubectl apply -f flaskapp-default-vs.yaml
# 验证,可同步观察 kiali & Jaeger 等
# 因是权重的原因,验证时样本量需要大一些
kubectl exec -it -c sleep $(kubectl get pod -l app=sleep,version=v1 -o jsonpath=‘{.items..metadata.name}‘) /bin/bash
bash-4.4# for i in `seq 100` ; do http --body http://flaskapp.default/env/version ; done | awk -F "v1" ‘{print NF-1}‘
注意点:
100
;100
。kubectl get
, kubectl api-resources
列出当前集群支持的所有对象类型标签:pod api 同步 命名空间 路由 metadata 样本 path 获取
原文地址:https://www.cnblogs.com/netonline/p/12609021.html