2017-06-06 34 views
1

我是kubernetes的新手,我知道我错过了一些小东西,但看不到什么。 我创建与文件荚:kubectl创建-f mysql.yaml如何从kubernetes中的新部署的网络中访问网络?

apiVersion: v1 
kind: Pod 
metadata: 
    name: mysql 
    labels: 
    name: mysql 
spec: 
    containers: 
    - resources: 
     limits : 
      cpu: 2 
     image: mysql 
     name: mysql 
     env: 
     - name: MYSQL_ROOT_PASSWORD 
      # change this 
      value: TestingDB1 
     ports: 
     - containerPort: 3306 
      name: mysql 

,并与服务:kubectl创建-f mysql_service.yaml的

apiVersion: v1 
kind: Service 
metadata: 
    labels: 
    name: mysql 
    name: mysql 
spec: 
    externalIPs: 
    - 10.19.13.127 
    ports: 
    - port: 3306 
    selector: 
    name: mysql 

输出 “kubectl版”

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"d33fd89e399396658aed4e48dfe7d5d8d50ac6e8", GitTreeState:"clean", BuildDate:"2017-05-26T17:08:24Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} 
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"d33fd89e399396658aed4e48dfe7d5d8d50ac6e8", GitTreeState:"clean", BuildDate:"2017-05-26T17:08:24Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} 

的 “kubectl集群信息”

Kubernetes master is running at http://localhost:8080 
输出的 “kubectl获取豆荚” 的

NAME     READY  STATUS RESTARTS AGE 
mysql     1/1  Running 0   20m 

输出

输出 “kubectl得到SVC” 的

NAME   CLUSTER-IP  EXTERNAL-IP PORT(S) AGE 
kubernetes 10.254.0.1  <none>   443/TCP 18h 
mysql  10.254.129.206 10.19.13.127 3306/TCP 1h 

输出 “kubectl得不到”“泊坞窗PS的

NAME   STATUS AGE 
10.19.13.127 Ready  19h 

输出“

CONTAINER ID  IMAGE          COMMAND     CREATED    STATUS    PORTS    NAMES 
74ea1fb2b383  mysql          "docker-entrypoint.sh" 3 minutes ago  Up 3 minutes       k8s_mysql.ae7893ad_mysql_default_e58d1c09-4a8e-11e7-9baf-fa163ee3f5d9_793d8d7c 

我可以看到吊舱正在正常创建。即使我连接到容器,我也可以使用凭据登录到MySQL。

我的问题是: 我如何访问/暴露在我的网络上运行在我的kubernetes节点上的端口?例如,我想从我的PC到运行mysql pod的kubernetes节点执行telnet。

谢谢!

+0

有了这个配置,你应该能够通过10.19.13.127访问到你荚:3306。 你试过“telnet 10.19.13.127 3306”吗? 会发生什么?你检查过防火墙规则吗? – aespejel

回答

0

以下命令来确认Redis的服务器在群运行和监听的端口(通常它6379端口上运行):

kubectl得到荚Redis的主--template ='{{(指数(指数.spec.containers 0).ports 0).containerPort}} {{ “\ n”}}”

输出:6739