如何连接在Kubernetes上运行的MySQL [英] How to connect MySQL running on Kubernetes
问题描述
我在谷歌 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 MySQ
L 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屋!