Hi,
I have the following peerauthentication using istio 1.7.3. It is in the istio-system namespace
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "default"
namespace: "istio-system"
spec:
mtls:
mode: STRICT
I have the following pods in ns foo1
NAME READY STATUS RESTARTS AGE
sleep-7bcd6c9698-ksc4z 2/2 Running 0 2d4h
sleep-linux-bd846f6f6-sl8sm 2/2 Running 0 2d3h
springboot-5f47dfdf48-wbc7v 1/1 Running 0 15m
springboot-external-77687fdcb7-lq76g 2/2 Running 0 25m
And services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sleep ClusterIP 10.96.56.153 <none> 80/TCP 2d4h
sleep-linux ClusterIP 10.96.173.104 <none> 80/TCP 2d3h
springboot ClusterIP 10.96.53.223 <none> 8080/TCP 23m
springboot-external ClusterIP 10.96.106.7 <none> 8000/TCP 33m
Note that springboot has no Envoy
springboot-external calls springboot. I would have expected that call to fail due to strict MTLS but it doesn’t. it works perfectly
Accessing Url http://springboot.foo1:8080/
Http Call returned 200
Is this a bug or my misunderstanding of how this works?
Tnx
Doug
Part 2
Part of my misunderstanding was i was applying 1.4.6 behavior to 1.7.3
In 1.4.6, I had to create a destination rule to allow outbound calls to non proxied services but allow seems to be the default behavior in 1.7.3 ( which is easier imo )