首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes联网问题

Kubernetes联网问题
EN

Stack Overflow用户
提问于 2015-12-09 20:05:27
回答 1查看 195关注 0票数 0

我使用来自VirtualBox (centos7)的教程在这里上安装了一个Kubernetes集群。

这是我的设置:

  • kube-master - 10.1.10.152 (etcd,kube-apiserver,kube-控制器-管理器,kube-调度程序)
  • kube-Minion1-10.1.10.153 (kube-proxy,kubelet,码头,flanneld)

当我完成设置时,一切看起来都很好:

代码语言:javascript
复制
$ kubectl get nodes
NAME           LABELS                                STATUS
kube-minion1   kubernetes.io/hostname=kube-minion1   Ready

我尝试使用以下配置添加mysql和服务:

代码语言:javascript
复制
$ cat mysql.yaml
apiVersion: v1
kind: Pod
metadata:
  name: mysql
  labels:
    name: mysql
spec:
      containers:
    - resources:
        limits :
          cpu: 1
      image: mysql
      name: mysql
      env:
        - name: MYSQL_ROOT_PASSWORD
          value: qwe123
      ports:
        - containerPort: 3306
          name: mysql

$ cat mysql-service.yaml 
apiVersion: v1
kind: Service
metadata:
  labels:
    name: mysql
  name: mysql
spec:
  publicIPs:
    - 10.1.10.153
  ports:
    # the port that this service should serve on
    - port: 3306
  # label keys and values that must match in order to receive traffic for this service
  selector:
    name: mysql

请注意,我确实提供了publicIP= 10.1.10.153。一旦注入了mysql.yaml和mysql-service.yaml,下面就是我得到的:

代码语言:javascript
复制
$ kubectl get pods
NAME           READY     STATUS    RESTARTS   AGE
mysql          1/1       Running   0          31s

$ kubectl get services
NAME         LABELS                                    SELECTOR     IP(S)            PORT(S)
kubernetes   component=apiserver,provider=kubernetes   <none>       10.254.0.1       443/TCP
mysql        name=mysql                                name=mysql   10.254.215.138   3306/TCP


$ kubectl describe service mysql
Name:           mysql
Namespace:      default
Labels:         name=mysql
Selector:       name=mysql
Type:           ClusterIP
IP:             10.254.215.138
Port:           <unnamed>   3306/TCP
Endpoints:      172.17.17.5:3306
Session Affinity:   None
No events.

因此,我遇到的问题是,使用10.1.10.153无法访问mysql。与mysql通信的唯一方法是使用10.254.215.138从仆从主机访问mysql

为什么我无法使用10.1.10.153访问它?有办法让它起作用吗?

谢谢-D

EN

回答 1

Stack Overflow用户

发布于 2015-12-09 22:58:01

在您的情况下,最简单的方法是指定服务类型"NodePort“。在这种情况下,kubernetes将为每个节点上的服务打开端口,因此可以通过10.1.10.153:3306访问该端口。您的情况如何?如果服务类型是ClusterIP,那么服务只能从集群内部(从豆荚)访问,如果指定的话,可以独立于它的publicIp。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34188001

复制
相关文章

相似问题

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