B ASM Specific Configuration
To configure ASM, you have to:
- Add the following annotation under Global section of UDR
deployment.
# ******** Sub-Section Start: Custom Extension Global Parameters ******** #************************************************************************** global: customExtension: allResources: labels: {} annotations: sidecar.istio.io/inject: "\"false\"" lbServices: labels: {} annotations: {} lbDeployments: labels: {} annotations: sidecar.istio.io/inject: "\"true\"" oracle.com/cnc: "\"true\"" nonlbServices: labels: {} annotations: {} nonlbDeployments: labels: {} annotations: sidecar.istio.io/inject: "\"true\"" oracle.com/cnc: "\"true\"" # ******** Sub-Section End: Custiom Extensions Global Parameters ******** #**************************************************************************
- Enable Service Mesh Flag under ingressgateway
section.
ingressgateway: # Mandatory: This flag needs to set it "true" is Service Mesh would be present where UDR will be deployed serviceMeshCheck: true
- Change Ingress Gateway Service Type to ClusterIP under ingressgateway
section.
ingressgateway: global: # Service Type type: ClusterIP
- Exclude actuator ports from Aspen Mesh to avoid traffic through side car.
These ports are used as actuator ports (used for readiness/liveness checks) for Ingress
Gateway and UDR microservices. The default actuator port (service.port.management) used
for UDR microservices is 9000 and Ingress/Egress Gateway is 9090
(ingressgateway.ports.actuatorPort). If there is no change in default ports, you can use
the annotation given
below.
nudr-nrf-client-service: deployment: customExtension: labels: {} annotations: traffic.sidecar.istio.io/excludeOutboundPorts: "\"9000,9090\""
- Create a destination rule and service entry to enable MYSQL connectivity service to
establish a connection between UDR/SLF and NDB cluster. This is outside ASM. The sample
templates are as follows:
Creating a Service for External MySQL instance
apiVersion: v1 kind: Endpoints metadata: name: mysql-connectivity-service-headless namespace: <ocudr-namespace> subsets: - addresses: - ip: <sql-node1-ip> - ip: <sql-node2-ip> ports: - port: 3306 protocol: TCP --- apiVersion: v1 kind: Service metadata: name: mysql-connectivity-service-headless namespace: <ocudr-namespace> spec: clusterIP: None ports: - port: 3306 protocol: TCP targetPort: 3306 sessionAffinity: None type: ClusterIP --- apiVersion: v1 kind: Service metadata: name: mysql-connectivity-service namespace: <ocudr-namespace> spec: externalName: mysql-connectivity-service-headless.<ocudr-namespace>.svc.cluster.local sessionAffinity: None type: ExternalName
Creation of Service Entry and DestinationRule for External DB instance
apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: mysql-external-se namespace: <ocudr-namespace> spec: hosts: - mysql-connectivity-service-headless.<ocudr-namespace>.svc.cluster.local ports: - number: 3306 name: mysql protocol: MySQL location: MESH_EXTERNAL --- apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: mysql-external-dr namespace: <ocudr-namespace> spec: host: mysql-connectivity-service-headless.<ocudr-namespace>.svc.cluster.local trafficPolicy: tls: mode: DISABLE