0
点赞
收藏
分享

微信扫一扫

6、istio基于域名访问做流量治量

Mezereon 2023-07-13 阅读 61
istio运维

demoapp1.0

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: demoappv10
    version: v1.0
  name: demoappv10
spec:
  progressDeadlineSeconds: 600
  replicas: 3
  selector:
    matchLabels:
      app: demoapp
      version: v1.0
  template:
    metadata:
      labels:
        app: demoapp
        version: v1.0
    spec:
      containers:
      - image: ikubernetes/demoapp:v1.0
        imagePullPolicy: IfNotPresent
        name: demoapp
        env:
        - name: "PORT"
          value: "8080"
        ports:
        - containerPort: 8080
          name: web
          protocol: TCP

demoapp1.1

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: demoappv11
    version: v1.1
  name: demoappv11
spec:
  progressDeadlineSeconds: 600
  replicas: 2
  selector:
    matchLabels:
      app: demoapp
      version: v1.1
  template:
    metadata:
      labels:
        app: demoapp
        version: v1.1
    spec:
      containers:
      - image: registry.cn-shenzhen.aliyuncs.com/lavamusic/public:demoapp-v1.1
        imagePullPolicy: IfNotPresent
        name: demoapp
        env:
        - name: "PORT"
          value: "8080"
        ports:
        - containerPort: 8080
          name: web
          protocol: TCP
        resources:
          limits:
            cpu: 50m

service

apiVersion: v1
kind: Service
metadata:
  name: demoapp
spec:
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: 8080
  selector:
    app: demoapp
  type: ClusterIP

proxy

apiVersion: apps/v1
kind: Deployment
metadata:
  name: proxy
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  selector:
    matchLabels:
      app: proxy
  template:
    metadata:
      labels:
        app: proxy
    spec:
      containers:
        - env:
          - name: PROXYURL
            value: http://demoapp:8080
          image: registry.cn-shenzhen.aliyuncs.com/lavamusic/public:proxy-v0.1.1
          imagePullPolicy: IfNotPresent
          name: proxy
          ports:
            - containerPort: 8080
              name: web
              protocol: TCP
          resources:
            limits:
              cpu: 50m
---
apiVersion: v1
kind: Service
metadata:
  name: proxy
spec:
  ports:
    - name: http-80
      port: 80
      protocol: TCP
      targetPort: 8080
  selector:
    app: proxy

vs

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: proxy
spec:
  hosts:
  - "istio.yht.com"                     # 对应于gateways/proxy-gateway
  gateways:
  - istio-system/proxy-gateway       # 相关定义仅应用于Ingress Gateway上
  http:
  - name: default
    route:
    - destination:
        host: proxy

gateway

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: proxy-gateway
  namespace: istio-system        # 要指定为ingress gateway pod所在名称空间
spec:
  selector:
    app: istio-ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "istio.yht.com"

 检查

[root@k8s-uat-manager 04-proxy-gateway]# kubectl get gateway -n istio-system | grep proxy
proxy-gateway        7m5s

[root@k8s-uat-manager 04-proxy-gateway]# kubectl get vs
NAME    GATEWAYS                         HOSTS                    AGE
proxy   ["istio-system/proxy-gateway"]   ["istio.yht.com"]   7m33s

[root@k8s-uat-manager 03-demoapp-subset]# kubectl get pods -n istio-system
NAME                                    READY   STATUS    RESTARTS   AGE
grafana-cc959c75c-m4x87                 1/1     Running   0          31d
istio-ingressgateway-7cb54b46c8-vjnnb   1/1     Running   0          31d
istiod-68757f57b4-fx2sz                 1/1     Running   0          31d
jaeger-7747d44bfc-2cbct                 1/1     Running   0          31d
kiali-67946bcc89-gb4mz                  1/1     Running   0          31d
prometheus-85674d4cb8-5vb4c             2/2     Running   0          31d
[root@k8s-uat-manager 03-demoapp-subset]# istioctl pc route istio-ingressgateway-7cb54b46c8-vjnnb.istio-system | grep -i "istio.yht.com                /*"
http.8080     istio.yht.com:80                istio.yht.com                /*                     proxy.default
[root@k8s-uat-manager 03-demoapp-subset]#

浏览器访问

http://istio.yht.com

kiali查看

6、istio基于域名访问做流量治量_istio

举报

相关推荐

0 条评论