我是istio的新手,正在尝试设置它。
不过,我有一个问题:istio是只用于通过ingress进入kube集群的流量,还是可以用于与同一kube集群内运行的服务通信?
很抱歉,如果这是一个愚蠢的问题,但我在其他地方找不到。任何指针都将不胜感激。
以下是我所拥有的:1.部署在istio-mesh上的服务的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
- istio mesh上部署的另一个服务:
kubectl get pods -n saudagar | grep readonly
saudagar-readonly-7d75c5c7d6-zvhz9 2/2 Running 0 5d
- 我有一个kube服务定义如下:
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
我试图测试的是riaa和saudagar之间的断路,以及2个版本服务上的流量路由。
我想在同一个kube集群中测试这个。我无法做到这一点。如果我想从saudagar服务访问riaa服务,我应该使用什么端点才能看到应用的流量路由策略?
Istio可用于控制入口流量(从外部进入集群)、控制集群内流量(集群内服务之间)和控制出口流量(从集群内服务到集群外服务)。