...
Considering microservice replication across multiple locations with replication within each cluster. - Testing Scenarios - HTTP Applications
Intent
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
URL: /v2/project/{project-name}/rb/{rb-name}/{version}/intent/{intent-name}/connectivity/
POST BODY:
{
"intent-name": "test-connectivity",
"description": "connectivity intent for microservice replication across multiple locations and clusters"
"connectivityResource": [
{ "microservice01":
"egressgateway": "true", // All the outbound traffic from this service will flow through a dedicated egress gateway
"externalPrefix": "httpservice", // This is the prefix used to expose your service outside the cluster.
[{
"targetServiceName": "httpbin",
"type": "kubernetes"
"serviceMesh": "istio"
"protocol": "HTTP",
"port" : "80",
"loadbalancing": "true",
"traffic percentage" : "33",
"egress" : "true", // Setting this to true will create a dedicated egrees gateway for the service httpbin on whichever cluster it is running on
},
{
"targetServiceName": "sleep",
"type": "kubernetes"
"serviceMesh": "istio"
"protocol": "HTTP",
"port" : "80", //
"loadbalancing": "true",
"traffic percentage" : "34",
"egress" : "false", // Setting this to true will create a dedicated egrees gateway for the service sleep on whichever cluster it is running on
},
{
"targetServiceName": "johndoe.com",
"type": "externalservice"
"serviceMesh": ""
"protocol": "HTTP",
"port" : "80", //
"loadbalancing": "true",
"traffic percentage" : "33",
"egress" : "false" // This has to be false as a service external to a k8s cluster/service mesh will not be handled by administrator
}]
},
{ "microservice02": [
{
"targetServiceName": "edition.cnn.com",
"type": "externalService"
"serviceMesh": ""
"protocol": "HTTPS",
"port" : "443", //
"loadbalancing": "false",
"traffic percentage" : "",
"egress" : "false", // Setting this to true will create a dedicated egrees gateway for the service httpbin on whichever cluster it is running on
},
{
"targetServiceName": "sleep",
"type": "kubernetes"
"serviceMesh": "istio"
"protocol": "HTTP",
"port" : "80", //
"loadbalancing": "false",
"traffic percentage" : "",
"egress" : "false", // Setting this to true will create a dedicated egrees gateway for the service sleep on whichever cluster it is running on
}]
}
RETURN STATUS: 201
RETURN BODY:
{
"intent-name": "test-connectivity",
"description": "connectivity intent for microservice replication across multiple locations and clusters"
} |
Considering instantiation of the same application multiple times in multiple logical clouds that span across the same edge locations. - The investigation is in Progress
...
Considering multiple user-facing entities
Considering RBAC/ABAC
...