- Manifest ManagementManifest Management
- Application Update LifecycleApplication Update Lifecycle
- Volume ManagementVolume Management
- Dynamic ParametersDynamic Parameters
- Kubernetes Cluster SupportKubernetes Cluster Support
- Kubernetes RBACKubernetes RBAC
- Network & Traffic managementNetwork & Traffic management
- Kubernetes AutoscalingKubernetes Autoscaling
- Associating Pods To NodesAssociating Pods To Nodes
- Integration with VM (Legacy) ServicesIntegration with VM (Legacy) Services
Network & Traffic Management
Pain Point
Network and Traffic Management is a critical function in a cloud application. It includes fine-grained traffic control, retry policies, circuit breakers, and fault injection.
Developers are required to manually configure traffic management policies (circuit breaker, retry policies) for each Docker container. Developers also need to add service information in service mesh resources (virtual service, destination rule). This is a manual and tedious job.
The following are YAML Config file snippets for Circuit Breakers and Retry policy, for a single container.
circutbreaker.yaml
apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name:namespace: spec: host: . .svc.cluster.local trafficPolicy: connectionPool: tcp: maxConnections: 1 http: http1MaxPendingRequests: 1 maxRequestsPerConnection: 1 outlierDetection: consecutiveErrors: 1 interval: 1s baseEjectionTime: 3m maxEjectionPercent: 100
retry-policy.yaml:
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name:spec: hosts: - . .svc.cluster.local http: - route: - destination: host: . .svc.cluster.local subset: v1 retries: attempts: 3 perTryTimeout: 2s retryOn: //for example gateway-error,connect-failure,refused-stream
How CloudPlex addresses your pain
With CloudPlex, developers only need to provide a few configurations of retry policies, circuit breakers, and fault injection. CloudPlex automatically creates and configures the resources (virtual service, destination rule) for each Docker container. CloudPlex also adds service information, as shown in the screenshot below
