
istio를 사용하면 정의된 서비스 메시 외부 서비스에 대한 내부 별칭을 만들고 ServieEntry
외부 서비스에 대한 액세스를 제어할 수 있나요?
예를 들어 서비스 항목이 있다고 가정합니다.
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
name: mypgsql
namespace: externalapps
spec:
hosts:
- mypgsql.example.com
location: MESH_EXTERNAL
ports:
- number: 5432
protocol: TCP
resolution: DNS
---
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: default-deny
namespace: externalapps
spec:
selector:
... How would I select the service entry ...
mypsql 서비스 항목을 참조하는 앱 네임스페이스에 다른 서비스 항목이나 다른 리소스를 생성할 수 있나요?
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
name: dbsvc
namespace: someapp
spec:
hosts:
- mypsql.externalapps
location: MESH_EXTERNAL
ports:
- number: 5432
protocol: TCP
resolution: DNS
---
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: default-deny-db
namespace: someapp
spec:
selector:
... How would I select the dbsvc service entry ...
---
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: allow-backend-to-db
namespace: someapp
spec:
selector:
... How would I select the dbsvc service entry ...
action: ALLOW
rules:
- from:
- source:
principals:
- app_backend