NDB Operator 發行說明
在 Kubernetes 叢集外部執行的 NDB 管理和 SQL 應用程式,可以使用先前描述的管理伺服器和 SQL 節點服務來存取在內部執行的 NDB Cluster;這些服務的類型為 LoadBalancer。Kubernetes 叢集供應商(例如 minikube)會為這些服務配置負載平衡器。如果您正在執行 minikube,則要將服務公開到 Kubernetes 叢集外部,請執行此處顯示的命令
> minikube tunnel
使用 kubectl get service,並傳遞服務名稱或標籤,您可以檢索應用程式連線到 NDB Cluster 所需的 IP 位址。對於範例管理節點服務,可以使用此處顯示的任一命令來完成此操作
# Retrieve management load balancer service IP address using service name
> kubectl get service "example-ndb-mgmd-ext" \
-o jsonpath={.status.loadBalancer.ingress[0].ip}
# Retrieve management load balancer service IP address using service label
> kubectl get service \
-l "mysql.oracle.com/resource-type=mgmd-service-ext" \
-o jsonpath={.items[0].status.loadBalancer.ingress[0].ip}
取得剛才提取的服務 IP 位址後,NDB 管理用戶端(例如 ndb_mgm)可以透過管理節點服務連線到 NDB Cluster 管理伺服器,並執行管理任務。
同樣地,您可以使用以下任一 kubectl get service 命令取得範例 SQL 節點負載平衡器服務的 IP 位址
# Retrieve SQL node load balancer service IP address using service name
> kubectl get service "example-ndb-mysqld-ext" \
-o jsonpath={.status.loadBalancer.ingress[0].ip}
# Retrieve SQL node load balancer service IP address using service name
> kubectl get service \
-l "mysql.oracle.com/resource-type=mysqld-service-ext" \
-o jsonpath={.items[0].status.loadBalancer.ingress[0].ip}
取得任一這些命令的 IP 位址後,MySQL 用戶端(例如 mysql)可以連線到 NDB Cluster SQL 節點並執行 SQL 語句。