2016-10-07 46 views
3

我已經在google gcloud容器引擎上部署了我的應用程序。我的申請要求MySQL。應用程序運行良好並正確連接到MySQL。 但我想連接MySQL數據庫從我的本地機器使用MySQL客戶端(Workbench,或命令行),有人可以幫助我如何將其公開到本地機器?我怎樣才能在gcloud shell上打開MySQ L命令行?如何連接MySQL上運行的Kubernetes

我已經運行下面的命令,但外部IP是不存在的: -

$ 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 

編輯

我使用下面yml文件

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 

回答

6

嘗試kubectl port-forward命令。

在你的情況; kubectl port-forward app-mysql-3323704556-nce3w 3306:3306

有關所有可用選項,請參閱The documentation

+0

我不知道這是否正確,但它不適用於我..它顯示下面'轉發從127.0.0.1:3306 - > 3306 轉發從[:: 1]:3306 - > 3306'和之後,當我運行'kubectl獲取服務'它沒有顯示外部IP –

+0

你將不得不在你的本地機器上使用MySQL客戶端,並連接到'localhost:3306' 。這將使用您使用'kubectl port-forward'創建的隧道。 –

+0

現在工作正常,我已經重新安裝了gcloud。謝謝你的幫助 –

相關問題