Skip to content

Instantly share code, notes, and snippets.

@rvennam
Last active August 31, 2023 18:56
Show Gist options
  • Save rvennam/f60c123201fa5a89c811d485859ed65b to your computer and use it in GitHub Desktop.
Save rvennam/f60c123201fa5a89c811d485859ed65b to your computer and use it in GitHub Desktop.
Gloo Mesh External Service Failover
apiVersion: networking.gloo.solo.io/v2
kind: ExternalService
metadata:
name: mydb
namespace: default
labels:
external-service: mydb
spec:
hosts:
- mydb.com
ports:
- name: http
number: 80
protocol: http
# clientsideTls: {}
selector:
external-service: mydb
---
apiVersion: networking.gloo.solo.io/v2
kind: ExternalEndpoint
metadata:
name: mydb-west
namespace: default
labels:
external-service: mydb
spec:
address: dynamodb.us-west-1.amazonaws.com
ports:
- name: http
number: 80
locality:
region: us-west-2
zone: us-west-2a
---
apiVersion: networking.gloo.solo.io/v2
kind: ExternalEndpoint
metadata:
name: mydb-east
namespace: default
labels:
external-service: mydb
spec:
address: dynamodb.us-east-1.amazonaws.com
ports:
- name: http
number: 80
locality:
region: us-east-1
zone: us-east-2b
---
apiVersion: resilience.policy.gloo.solo.io/v2
kind: OutlierDetectionPolicy
metadata:
name: outlier-detection
namespace: default
spec:
applyToDestinations:
- kind: EXTERNAL_SERVICE
selector:
name: mydb
port:
number: 80
config:
consecutiveErrors: 2
interval: 5s
baseEjectionTime: 15s
maxEjectionPercent: 100
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment