通过 port-forward 转发到本地访问

如果您在 K8s 集群外想访问 PolarDB-X 数据库,但是没有配置 LoadBalancer, 可以通过如下命令将服务的 3306 端口转发到本地,并且保持转发进程存活。

kubectl port-forward svc/{PolarDB-X 集群名} 3306

如果您机器的3306端口被占用,可以通过如下命令将服务转发到指定的端口上:kubectl port-forward svc/{PolarDB-X 集群名} {新端口}:3306

新开一个终端,执行如下命令即可连接 PolarDB-X:

mysql -h127.0.0.1 -P{转发端口} -upolardbx_root -p

说明:

  • 此处-P为大写字母,默认端口为3306。
  • 为保障密码安全,-p后请不要填写密码,会在执行整行命令后提示您输入密码,输入后按回车即可登录。

通过 NodePort 访问

如果创建 PolarDB-X 集群的时候指定了 serviceType: LoadBalancer ,也可以直接通过 NodePort的方式进行访问。

通过如下命令获取所有的 nodePort:

kubectl get svc -l polardbx/name={集群名},polardbx/cn-type=rw -o jsonpath="{.items[0].spec.ports[0].nodePort}" | xargs echo "NodePort:"

通过如下命令获取 IP 列表:

kubectl get pods -l polardbx/name={集群名},polardbx/role=cn -o jsonpath="{range .items[*]}{.status.hostIP}{'\n'}{end}"

通过上述结果中的任意 IP + NodePort 即可访问 PolarDB-X: image.png

results matching ""

    No results matching ""