大白话之istio gateway、virtual service 、destination rule

老王开了一家家娱乐场所,天上人间,为了气派老王花重金百万打造了一个青铜大门istio-ingressgateway 类似一个nginx。
在这里插入图片描述

这么气派的大门必须找两个180以上的保安gateway看门,保安的指责比较的简单明了,按摩(anmo.com)的放进来,洗浴(xiyu.com)的放进来,白嫖(baipiao.com)的请出去。

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: baoan
  namespace: tianshangrenjian
spec:
  selector:
    istio: ingressgateway # use Istio default gateway implementation
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "xiyu.com"
    - "anmo.com"

迷茫的客人进来后需要有指路人,大堂经理virtual service客客气气的安排着。每个客人都有自己喜欢的技师,以前k8s的service不支持客户挑选技师傅,假如有三个技师轮到哪个是哪个,但是天上人间的服务宗旨就是客户至上,因此天上人间可以选择您心仪的技师。如果你想找个白富美给您按摩,只需要告诉大堂经理virtual service ,anmo.com/baifumei,他就会客客气气告诉您上3楼找69号房间。如果你找矮矬穷anmo.com/aicuoqiong请到3楼96房间,如果你以前用的k8s svc他只会告诉你去没有房间号的3楼,到底是白富美还是矮矬穷完全靠运气了。

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: tianshangrenjian-rule
  namespace: tianshangrenjian
spec:
  hosts:
  - anmo.com
  gateways:
  - baoan
  http:
    - name: "baifumei"
    match:
    - uri:
        prefix: "/baifumei"
    route:
    - destination:
        host: anmo-service
        subset: v1
  - name: "aicuoqiong"
    route:
    - destination:
        host: anmo-service
        subset: v2

告诉每个技师提前到哪个房间迎接客人,就是destination rule。

apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: reviews-destination
  namespace: tianshangrenjian
spec:
  host: anmo-svc
  subsets:
  - name: v1
    labels:
      sanwei: 362436 
  - name: v2
    labels:
      sanwei: 181818

就这样生意红红火火。。。大门istio-ingressgateway(你从哪里进来),看大门的istio gateway(你能不能进来),大堂经理virtual service(进来后去哪),destination rule(房间号)微服务就是细节没得说。。。

你可能感兴趣的:(k8s,k8s)