Access the TiDB Cluster
You can configure Service with different types according to the scenarios, such as , NodePort
, LoadBalancer
, etc., and use different access methods for different types.
You can obtain TiDB Service information by running the following command:
For example:
The above example describes the information of the basic-tidb
service in the default
namespace. The type is NodePort
, ClusterIP is 10.233.6.240
, ServicePort is and 10080
, and the corresponding NodePort is 32498
and 30171
.
The default authentication plugin of MySQL 8.0 is updated from mysql_native_password
to caching_sha2_password
. Therefore, if you use MySQL client from MySQL 8.0 to access the TiDB service (TiDB version earlier than v4.0.7), and if the user account has a password, you need to explicitly specify the --default-auth=mysql_native_password
parameter.
exposes services through the internal IP of the cluster. When selecting this type of service, you can only access it within the cluster by the following methods:
- Service domain name (
${serviceName}.${namespace}
) + ServicePort
If there is no LoadBalancer, you can choose to expose the service through NodePort. NodePort exposes services through the node’s IP and static port. You can access a NodePort service from outside of the cluster by requesting NodeIP + NodePort
.
To view the Node Port assigned by Service, run the following commands to obtain the Service object of TiDB:
When
externalTrafficPolicy
is configured asLocal
, use the following commands to get the nodes where the TiDB instance of a specified cluster is located:
If the TiDB cluster runs in an environment with LoadBalancer, such as on GCP or AWS, it is recommended to use the LoadBalancer feature of these cloud platforms by setting .
To access TiDB Service through LoadBalancer, refer to , GKE and .