如何连接在Kubernetes上运行的MySQL [英] How to connect MySQL running on Kubernetes

查看:1660
本文介绍了如何连接在Kubernetes上运行的MySQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在谷歌 gcloud 容器引擎上部署了我的应用程序。我的应用程序需要 MySQL 。应用程序运行正常并正确连接到 MySQL
但我想使用 MySQL 客户端( MySQL > Workbench 或命令行),有人可以帮助我如何将其公开给本地机器吗?以及如何在 gcloud shell上打开 MySQ L命令行?



我已经在命令行下面运行了,但外部IP不在那里: -

  $ kubectl获取部署
名称期望状态最新日期可用年龄
app-mysql 1 1 1 1 2m
$ kubectl获取荚
名称就绪状态RESTARTS年龄
app-mysql-3323704556-nce3w 1/1正在运行0 2m
$ kubectl获取服务
名称CLUSTER-IP EXTERNAL-IP PORT(S)AGE
app-mysql 11.2.145.79 <无> 3306 / TCP 23h

编辑

我正在使用 yml 文件

  apiVersion :extensions / v1beta1 
kind:部署
元数据:
名称:app-mysql
规格:
副本:1
模板:
元数据:
标签:
app:app-mysql
spec:
卷:
- name:data
emptyDir:{}
containers:
- name:mysql
image:mysql:5.6.22
env:
- name:MYSQL_USER
value:root
- name:MYSQL_DATABASE
值:appdb
端口:
- containerPort:3306
volumeMounts:
- name:data
mountPath:/ var / lib / mysql /
---
apiVersion:v1
类型:服务
元数据:
名称:app-mysql
规格:
选择器:
app: app-mysql
ports:
- port:3306


解决方案

尝试使用 kubectl port-forward 命令。 / p>

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



请参阅所有可用选项的文档


I have deployed my application on google gcloud container engine. My application required MySQL. Application is running fine and connecting to MySQL correctly. But i want to connect MySQL database from my local machine using MySQL Client (Workbench, or command line), Can some one help me how to expose this to local machine? and how can i open MySQL command line on gcloud shell ?

I have run below command but external ip is not there :-

$ 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 am using below yml file

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

解决方案

Try the kubectl port-forward command.

In your case; kubectl port-forward app-mysql-3323704556-nce3w 3306:3306

See The documentation for all available options.

这篇关于如何连接在Kubernetes上运行的MySQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆