Anc*_*oli 8 google-cloud-platform kubernetes
我已将我的应用程序部署在Google gcloud容器引擎上.我的申请需要MySQL.应用程序运行正常并MySQL正确连接.但是我想MySQL使用MySQLClient(Workbench或命令行)从我的本地机器连接数据库,有人可以帮助我如何将它暴露给本地机器吗?以及如何MySQL在gcloudshell 上打开命令行?
我已经运行低于命令,但外部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
Run Code Online (Sandbox Code Playgroud)
编辑
我正在使用下面的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
Run Code Online (Sandbox Code Playgroud)
涉及 2 个步骤:
1 ) 首先执行从 localhost 到您的 pod 的端口转发:
kubectl port-forward <your-mysql-pod-name> 3306:3306 -n <your-namespace>
Run Code Online (Sandbox Code Playgroud)
2)连接数据库:
mysql -u root -h 127.0.0.1 -p <your-password>
Run Code Online (Sandbox Code Playgroud)
请注意,您可能需要更改127.0.0.1为localhost- 取决于您的设置。
如果主机设置为:
localhost- 则使用套接字或管道。
127.0.0.1- 然后客户端被迫使用 TCP/IP。
您可以检查您的数据库是否正在侦听 TCP 连接netstat -nlp。
阅读更多内容:
无法通过套接字tmp mysql sock连接到本地mysql服务器
| 归档时间: |
|
| 查看次数: |
8028 次 |
| 最近记录: |