49 lines
2.0 KiB
Plaintext
49 lines
2.0 KiB
Plaintext
MySQL can be accessed via port 3306 on the following DNS name from within your cluster:
|
|
{{ template "mysql.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
|
|
|
|
{{- if .Values.mysqlx.port.enabled }}
|
|
Connection to the X protocol of MySQL can be done via 33060 on the following DNS name from within your cluster:
|
|
{{ template "mysql.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
|
|
{{- end }}
|
|
|
|
{{- if .Values.existingSecret }}
|
|
If you have not already created the mysql password secret:
|
|
|
|
kubectl create secret generic {{ .Values.existingSecret }} --namespace {{ .Release.Namespace }} --from-file=./mysql-root-password --from-file=./mysql-password
|
|
{{ else }}
|
|
|
|
To get your root password run:
|
|
|
|
MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "mysql.fullname" . }} -o jsonpath="{.data.mysql-root-password}" | base64 --decode; echo)
|
|
{{- end }}
|
|
|
|
To connect to your database:
|
|
|
|
1. Run an Ubuntu pod that you can use as a client:
|
|
|
|
kubectl run -i --tty ubuntu --image=ubuntu:16.04 --restart=Never -- bash -il
|
|
|
|
2. Install the mysql client:
|
|
|
|
$ apt-get update && apt-get install mysql-client -y
|
|
|
|
3. Connect using the mysql cli, then provide your password:
|
|
$ mysql -h {{ template "mysql.fullname" . }} -p
|
|
|
|
To connect to your database directly from outside the K8s cluster:
|
|
{{- if contains "NodePort" .Values.service.type }}
|
|
MYSQL_HOST=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath='{.items[0].status.addresses[0].address}')
|
|
MYSQL_PORT=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "mysql.fullname" . }} -o jsonpath='{.spec.ports[0].nodePort}')
|
|
|
|
{{- else if contains "ClusterIP" .Values.service.type }}
|
|
MYSQL_HOST=127.0.0.1
|
|
MYSQL_PORT={{ .Values.service.port }}
|
|
|
|
# Execute the following command to route the connection:
|
|
kubectl port-forward svc/{{ template "mysql.fullname" . }} {{ .Values.service.port }}
|
|
|
|
{{- end }}
|
|
|
|
mysql -h ${MYSQL_HOST} -P${MYSQL_PORT} -u root -p${MYSQL_ROOT_PASSWORD}
|
|
|