Perform tenant O&M operations
A tenant contains various resources. To prevent a tenant from becoming bloated and improve tenant O&M flexibility, ob-operator provides the tenant O&M resource OBTenantOperation
for you to perform intra-tenant and inter-tenant O&M operations. ob-operator V2.1.0 supports three O&M operations: changing the password of the root user, activating a standby tenant, and executing a primary/standby tenant switchover. Standby tenant activation and primary/standby tenant switchover are related to the physical standby database feature. Here are sample configurations of the three O&M operations:
# Change the password.
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBTenantOperation
metadata:
name: op-chg-pwd
namespace: oceanbase
spec:
type: "CHANGE_PASSWORD"
changePwd:
tenant: "t1"
secretRef: "t1-credential-new"
# Upgrade a standby tenant to the primary tenant.
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBTenantOperation
metadata:
name: op-failover
namespace: oceanbase
spec:
type: "FAILOVER"
failover:
standbyTenant: "t1s"
# Perform a primary/standby tenant switchover.
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBTenantOperation
metadata:
name: op-switchover
namespace: oceanbase
spec:
type: "SWITCHOVER"
switchover:
primaryTenant: "t1"
standbyTenant: "t1s"
Examples
Create a standby tenant
kubectl apply -f tenant_restore.yaml
View the tenant status
kubectl get obtenants.oceanbase.oceanbase.com -n oceanbase
The command output is as follows:
NAME STATUS TENANTNAME TENANTROLE CLUSTERNAME AGE
t1 running t1 PRIMARY obcluster 3d4h
t1s running t1s STANDBY obcluster 3h30m
Perform O&M operations on the tenant
kubectl apply -f tenant_op_change_pwd.yaml
kubectl apply -f tenant_op_failover.yaml
Query the information about the tenant O&M operations
kubectl get obtenantoperations.oceanbase.oceanbase.com -n oceanbase
The command output is as follows:
NAME TYPE STATUS AGE CLUSTER PRIMARYTENANT
op-failover FAILOVER SUCCESSFUL 8s obcluster t1s
Note that the value of the PRIMARYTENANT
field in the output indicates the new primary tenant after the switchover. The value of the SECONDARYTENANT
field in the output indicates the new standby tenant after the switchover. To save space, the SECONDARYTENANT
field is not exported by default. You can run the kubectl get obtenantoperations.oceanbase.oceanbase.com -o wide
command to view it.