diff --git a/charts/tidb-cluster/templates/NOTES.txt b/charts/tidb-cluster/templates/NOTES.txt index b31da27fb6..db12efca9e 100644 --- a/charts/tidb-cluster/templates/NOTES.txt +++ b/charts/tidb-cluster/templates/NOTES.txt @@ -15,13 +15,14 @@ Cluster access kubectl port-forward -n {{ .Release.Namespace }} svc/{{ template "cluster.name" . }}-tidb 4000:4000 & {{- if .Values.tidb.passwordSecretName }} mysql -h 127.0.0.1 -P 4000 -u root -D test -p -{{- else -}} +{{- else }} mysql -h 127.0.0.1 -P 4000 -u root -D test Set a password for your user - SET PASSWORD FOR 'root'@'%' = '{{ (randAlphaNum 10) }}'; FLUSH PRIVILEGES + SET PASSWORD FOR 'root'@'%' = '{{ (randAlphaNum 10) }}'; FLUSH PRIVILEGES; {{- end -}} {{- if .Values.monitor.create }} * View monitor dashboard for TiDB cluster kubectl port-forward -n {{ .Release.Namespace }} svc/{{ template "cluster.name" . }}-grafana 3000:3000 Open browser at http://localhost:3000. The default username and password is admin/admin. + If you are running this from a remote machine, you must specify the server's external IP address. {{- end -}} diff --git a/docs/google-kubernetes-tutorial.md b/docs/google-kubernetes-tutorial.md index 8809d5ec1f..f3018a7f55 100644 --- a/docs/google-kubernetes-tutorial.md +++ b/docs/google-kubernetes-tutorial.md @@ -63,13 +63,9 @@ If you see `Ready` for all nodes, congratulations! You've setup your first Kuber Helm is the package manager for Kubernetes, and is what allows us to install all of the distributed components of TiDB in a single step. Helm requires both a server-side and a client-side component to be installed. -Download the `helm` installer: - - curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh - Install `helm`: - chmod 700 get_helm.sh && ./get_helm.sh + curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash Copy `helm` to your `$HOME` directory so that it will persist after the Cloud Shell reaches its idle timeout: @@ -79,7 +75,6 @@ Copy `helm` to your `$HOME` directory so that it will persist after the Cloud Sh Helm will also need a couple of permissions to work properly: - kubectl create serviceaccount tiller --namespace kube-system && kubectl apply -f ./manifests/tiller-rbac.yaml && helm init --service-account tiller --upgrade @@ -87,7 +82,7 @@ It takes a minute for helm to initialize `tiller`, its server component: watch "kubectl get pods --namespace kube-system | grep tiller" -When you see `Running`, it's time to hit `Control + C` and proceed to the next step! +When you see `Running`, it's time to hit Ctrl+C and proceed to the next step! ## Deploy TiDB Operator @@ -101,7 +96,7 @@ We can watch the operator come up with: watch kubectl get pods --namespace tidb-admin -o wide -When you see `Running`, `Control + C` and proceed to launch a TiDB cluster! +When you see both tidb-scheduler and tidb-controller-manager are `Running`, press Ctrl+C and proceed to launch a TiDB cluster! ## Deploy your first TiDB cluster @@ -113,7 +108,7 @@ It will take a few minutes to launch. You can monitor the progress with: watch kubectl get pods --namespace tidb -o wide -The TiDB cluster includes 2 TiDB pods, 3 TiKV pods, and 3 PD pods. When you see all pods `Running`, it's time to `Control + C` and proceed forward! +The TiDB cluster includes 2 TiDB pods, 3 TiKV pods, and 3 PD pods. When you see all pods `Running`, it's time to Ctrl+C and proceed forward! ## Connect to the TiDB cluster @@ -121,22 +116,16 @@ There can be a small delay between the pod being up and running, and the service watch "kubectl get svc -n tidb" -When you see `demo-tidb` appear, you can `Control + C`. The service is ready to connect to! - -You can connect to the clustered service within the Kubernetes cluster: - - kubectl run -n tidb mysql-client --rm -i --tty --image mysql -- mysql -P 4000 -u root -h $(kubectl get svc demo-tidb -n tidb -o jsonpath='{.spec.clusterIP}') -p +When you see `demo-tidb` appear, you can Ctrl+C. The service is ready to connect to! -Congratulations, you are now up and running with a distributed TiDB database compatible with MySQL! - -In addition to connecting to TiDB within the Kubernetes cluster, you can also establish a tunnel between the TiDB service and your Cloud Shell. This is recommended only for debugging purposes, because the tunnel will not automatically be transferred if your Cloud Shell restarts. To establish a tunnel: +To connect to TiDB within the Kubernetes cluster, you can establish a tunnel between the TiDB service and your Cloud Shell. This is recommended only for debugging purposes, because the tunnel will not automatically be transferred if your Cloud Shell restarts. To establish a tunnel: - kubectl -n tidb port-forward demo-tidb-0 4000:4000 &>/tmp/port-forward.log & + kubectl -n tidb port-forward svc/demo-tidb 4000:4000 &>/tmp/port-forward.log & From your Cloud Shell: sudo apt-get install -y mysql-client && - mysql -h 127.0.0.1 -u root -P 4000 -p + mysql -h 127.0.0.1 -u root -P 4000 Try out a MySQL command inside your MySQL terminal: @@ -144,8 +133,12 @@ Try out a MySQL command inside your MySQL terminal: If you did not specify a password in helm, set one now: - SET PASSWORD FOR 'root'@'%' = + SET PASSWORD FOR 'root'@'%' = ''; +_Note that, this command contains some special characters which cannot be +auto-populated in the google cloud shell tutorial: you need to copy and paste it into your console manually._ + +Congratulations, you are now up and running with a distributed TiDB database compatible with MySQL! ## Scale out the TiDB cluster