Requirement:
In enterprise world, we often have standby or DR services. Sometimes we have active and active services too. When we do switch over service, we need to modify Apps connection details to point to new service. It generates workloads and confusion when we touch Apps configurations In Kubernetes world, the power and flexibility of service save us from these hassles . We can switch services without changing Apps connection details.Solution:
We can use selector in K8S service component to choose which Apps the service is sitting on.
For example:
Primary DB service is on label livesqlsb-db-service and Standby DB service is on label livesqlsb-db-dr-service
To update service to point to standby DB , we simple update selector from livesqlsb-db-service --> livesqlsb-db-dr-service in the yaml file
Then kubectl apply -f <yaml file>
apiVersion: v1
kind: Service
metadata:
labels:
name: livesqlsb-db-service
name: livesqlsb-db-service
namespace: default
spec:
ports:
- port: 1521
protocol: TCP
targetPort: 1521
selector:
name: livesqlsb-db-service or livesqlsb-db-dr-service (update it to be livesqlsb-db-dr-service for standby DB service)
For example:
Primary DB service is on label livesqlsb-db-service and Standby DB service is on label livesqlsb-db-dr-service
To update service to point to standby DB , we simple update selector from livesqlsb-db-service --> livesqlsb-db-dr-service in the yaml file
Then kubectl apply -f <yaml file>
apiVersion: v1
kind: Service
metadata:
labels:
name: livesqlsb-db-service
name: livesqlsb-db-service
namespace: default
spec:
ports:
- port: 1521
protocol: TCP
targetPort: 1521
selector:
name: livesqlsb-db-service or livesqlsb-db-dr-service (update it to be livesqlsb-db-dr-service for standby DB service)
No comments:
Post a Comment