首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连接到mysql或k8s中的mysql节点?

如何连接到mysql或k8s中的mysql节点?
EN

Stack Overflow用户
提问于 2019-05-10 02:27:44
回答 1查看 432关注 0票数 0

我将mysql吊舱部署到我的k8s上。这就是配置,我对端口感到困惑,比如:

代码语言:javascript
复制
kind: Deployment
...
   containers:
     - ports:
        - containerPort: 3306  # @1
---

apiVersion: v1
kind: Service 
metadata:
  name: mysql
  labels:
    app: mysql
spec:
  selector:
    app: mysql

  # way 1
  ports:
    - port: 3306  # @2

      targetPort: 3306  # @3

  # way 2
  type: NodePort
  ports: 
    - port: 3306
      targetPort: 3306
      nodePort: 30600

@问题1。谁代理这个端口?问题2。这是什么港口?我的意思是集装箱已经暴露了3306港口,服务也暴露了。在我的单个节点中,它们不会发生冲突?@问题3。这个港口对集装箱暴露的港口意味着什么?

question4:当我使用方式1部署它时,我如何从pods & mysql访问mysql服务器。

question5:当我用2种方式部署它时,我如何从pods & mysql访问mysql服务器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-10 06:17:37

  1. 吊舱监听端口,服务代理端口。
  2. Pod监听端口3306,服务代理端口3306到Pod。服务不监听端口,它只是一个简单的iptables规则。
  3. 当您创建默认的ClusterIP服务时,可以使用主机名"mysql“从pods访问您的数据库。在Kubernetes之外,您不能到达DB,除非您执行"kubectl端口转发“。
  4. 创建nodePort服务时,仍然可以使用主机名"mysql“从pods访问数据库,也可以使用任何节点IP + NodePort访问DB。因此,如果节点的地址为192.168.1.10,并且nodePort为30600,则必须连接到DB到192.168.1.10:30600。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56069905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档