istio를 사용하여 외부 서비스에 대한 내부 별칭 만들기

istio를 사용하여 외부 서비스에 대한 내부 별칭 만들기

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

관련 정보