2016-10-07 2 views
3

Ich habe meine Anwendung auf Google gcloud Container-Engine bereitgestellt. Meine Bewerbung benötigt MySQL. Die Anwendung läuft einwandfrei und stellt eine Verbindung zu MySQL her. Aber ich möchte MySQL Datenbank von meinem lokalen Rechner mit MySQL Client (Workbench, oder Befehlszeile) verbinden, kann mir jemand helfen, wie dies auf lokale Maschine aussetzen? und wie kann ich MySQ L Kommandozeile auf gcloud Shell öffnen?Wie verbinden Sie MySQL auf Kubernetes

Ich habe unten Befehl ausführen, aber externe IP ist es nicht: -

$ kubectl get deployment 
NAME   DESIRED CURRENT UP-TO-DATE AVAILABLE AGE 
app-mysql 1   1   1   1   2m 
$ kubectl get pods 
NAME       READY  STATUS    RESTARTS AGE 
app-mysql-3323704556-nce3w 1/1  Running   0   2m 
$ kubectl get service 
NAME   CLUSTER-IP EXTERNAL-IP  PORT(S) AGE 
app-mysql 11.2.145.79 <none>   3306/TCP 23h 

EDIT

i

unter yml Datei bin mit
apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: app-mysql 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: app-mysql 
    spec: 
     volumes: 
     - name: data 
     emptyDir: {} 
     containers: 
     - name: mysql 
     image: mysql:5.6.22 
     env: 
     - name: MYSQL_USER 
      value: root 
     - name: MYSQL_DATABASE 
      value: appdb 
     ports: 
     - containerPort: 3306 
     volumeMounts: 
     - name: data 
      mountPath: /var/lib/mysql/ 
--- 
apiVersion: v1 
kind: Service 
metadata: 
    name: app-mysql 
spec: 
    selector: 
    app: app-mysql 
    ports: 
    - port: 3306 

Antwort

6

Versuchen Sie, den kubectl port-forward Befehl.

In Ihrem Fall; kubectl port-forward app-mysql-3323704556-nce3w 3306:3306

Siehe The documentation für alle verfügbaren Optionen.

+0

ich weiß nicht, ob dies richtig ist oder nicht, aber es ist nicht für mich arbeiten .. seine Vorführung unter 'Forwarding von 127.0.0.1:3306 -> 3306 Forwarding von [:: 1]: 3306 -> 3306' und danach, wenn ich 'kubectl get services' starte, wird keine externe IP angezeigt –

+0

Sie müssen den MySQL-Client auf Ihrem lokalen Rechner verwenden und sich mit' localhost: 3306' verbinden . Dies verwendet den Tunnel, den Sie mit 'kubectl port-forward' erstellt haben. –

+0

es funktioniert jetzt gut, ich habe gcloud neu installiert. Danke Für Hilfe –