istio多主集群架构验证方法
istio单网格多集群架构搭建完成后,需要验证下当前集群是否可以发现对端集群,验证方法如下:
命名空间建议设置为:demo-dubbo
deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:finalizers:- kubebuilder.io/net.trafficlabels:app: helloworldversion: v1name: helloworld-v1namespace: demo-dubbo
spec:progressDeadlineSeconds: 600replicas: 1revisionHistoryLimit: 10selector:matchLabels:app: helloworldversion: v1strategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:annotations:sidecar.istio.io/inject: "true"sidecar.istio.io/logLevel: debugsidecar.istio.io/proxyCPU: "0.1"sidecar.istio.io/proxyCPULimit: "1.0"sidecar.istio.io/proxyMemory: 128.0Misidecar.istio.io/proxyMemoryLimit: 512.0MicreationTimestamp: nulllabels:app: helloworldinject: "true"version: v1spec:containers:- image: 10.10.102.113:8443/service-mesh/helloworld:v1imagePullPolicy: IfNotPresentname: helloworldports:- containerPort: 5000protocol: TCPresources:limits:cpu: 100mmemory: 100Mirequests:cpu: 100mmemory: 100MiterminationMessagePath: /dev/termination-logterminationMessagePolicy: FilednsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30tolerations:- operator: Exists
svc.yaml
apiVersion: v1
kind: Service
metadata:labels:app: helloworldname: helloworldnamespace: demo-dubbo
spec:ipFamilies:- IPv4ipFamilyPolicy: SingleStackports:- name: http-http-http-httpport: 5000protocol: TCPtargetPort: 5000- name: http-http-endport: 6000protocol: TCPtargetPort: 6000selector:app: helloworldsessionAffinity: Nonetype: ClusterIP
配置完成后,最好重启应用pod和istiod、东西向网关。
=======================================================
以下内容可忽略:
vs和dr可以不配置
vs.yaml
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:annotations:manager: kubebuilder.io/net.trafficname: helloworldnamespace: demo-dubbo
spec:http:- name: cap-baselineroute:- destination:host: helloworld.demo-dubbo.svc.cluster.localsubset: cap-baseline
dr.yaml
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:name: helloworldnamespace: demo-dubbo
spec:host: helloworld.demo-dubbo.svc.cluster.localsubsets:- labels:version: v1name: cap-baseline- labels:version: v1name: v1
在两个集群的相同命名空间下分别apply如上yaml。