用于内部kube服务的ISTIO服务网格

时间:2019-09-07 05:50:07

标签: istio

我是istio的新手,正在尝试进行设置。

但是我有一个问题:istio仅用于通过入口进入kube集群的流量,还是可以用于与在同一kube集群中运行的服务进行通信?

很抱歉,如果这是一个菜鸟问题,但我无法在其他任何地方找到它。任何指针将不胜感激。

这是我所拥有的: 1.在istio网格上部署了2个不同版本的服务:

kubectl get pods -n turbo -l component=rhea
NAME                                READY   STATUS    RESTARTS   AGE
rhea-api-istio-1-58b957dd4b-cdn54   2/2     Running   0          46h
rhea-api-istio-2-5787d4ffd4-bfwwk   2/2     Running   0          46h
  1. 在istio网格上部署的另一项服务:
kubectl get pods -n saudagar | grep readonly
saudagar-readonly-7d75c5c7d6-zvhz9   2/2     Running   0          5d
  1. 我有一个定义为的kube服务:
apiVersion: v1
kind: Service
metadata:
  name: rhea
  labels:
    component: rhea
  namespace: turbo
spec:
  selector:
    component: rhea
  ports:
  - port: 80
    targetPort: 3000
    protocol: TCP
  1. 目的地规则:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: rhea
spec:
  host: rhea
  subsets:
  - name: v1
    labels:
      app: rhea-api-istio-1
  - name: v2
    labels:
      app: rhea-api-istio-2
  1. 虚拟服务,例如:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: rhea
  namespace: turbo
spec:
  hosts:
  - rhea
  http:
  - route:
    - destination:
        host: rhea
        subset: v1

我要测试的是在rhea和saudagar之间的电路中断,以及在2个版本的服务上的流量路由。

我想从相同的kube集群内部进行测试。我无法实现这一目标。如果我想从saudagar服务访问rhea服务,应该使用哪个端点,以便可以看到应用的流量路由策略?

1 个答案:

答案 0 :(得分:0)

Istio可用于控制ingress traffic(从外部进入集群),控制in-cluster traffic(在集群内部的服务之间)和控制egress traffic(从集群内部的服务)群集到群集之外的服务)。