我是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
kubectl get pods -n saudagar | grep readonly
saudagar-readonly-7d75c5c7d6-zvhz9 2/2 Running 0 5d
apiVersion: v1
kind: Service
metadata:
name: rhea
labels:
component: rhea
namespace: turbo
spec:
selector:
component: rhea
ports:
- port: 80
targetPort: 3000
protocol: TCP
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
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服务,应该使用哪个端点,以便可以看到应用的流量路由策略?
答案 0 :(得分:0)
Istio可用于控制ingress traffic(从外部进入集群),控制in-cluster traffic(在集群内部的服务之间)和控制egress traffic(从集群内部的服务)群集到群集之外的服务)。