无法使用kubernetes游乐场访问部署在kubernetes集群上的应用程序

时间:2018-07-29 08:52:50

标签: kubernetes

我在kubernetes游乐场上创建了一个3节点集群

在用户界面上看到的3个节点是:

192.168.0.13 : Master
192.168.0.12 : worker
192.168.0.11 : worker

我有一个与后端mysql连接的前端应用程序。

前端的部署和服务定义如下。

apiVersion: v1
kind: Service
metadata:
  name: springboot-app
spec:
  type: NodePort
  ports:
  - port: 8080
  selector:
    app: springboot-app
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: springboot-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: springboot-app
  template:
    metadata:
      labels:
        app: springboot-app
    spec:
      containers:
      - image: chinmayeepdas/springbootapp:1.0
        name: springboot-app
        env:
        - name: DATABASE_HOST
          value: demo-mysql
        - name: DATABASE_NAME
          value: chinmayee
        - name: DATABASE_USER
          value: root
        - name: DATABASE_PASSWORD
          value: root
        - name: DATABASE_PORT
          value: "3306"
        ports:
        - containerPort: 8080
          name: app-port

我的UI和后端POD已启动并正在运行。

[node1 ~]$ kubectl describe service springboot-app
Name:                     springboot-app
Namespace:                default
Labels:                   <none>
Annotations:              <none>
Selector:                 app=springboot-app
Type:                     NodePort
IP:                       10.96.187.226
Port:                     <unset>  8080/TCP
TargetPort:               8080/TCP
NodePort:                 <unset>  30373/TCP
Endpoints:                10.32.0.2:8080,10.32.0.3:8080,10.40.0.3:8080
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

现在,当我这样做时,

http://192.168.0.12:30373/employee/getAll

我没有看到任何结果。我知道无法访问此网站

我必须在URL中提供什么IP地址?

1 个答案:

答案 0 :(得分:0)

尝试此解决方案

kubectl proxy --address 0.0.0.0

然后以http://localhost:30373/employee/getAll

的身份访问它

或者也许:

http://localhost:8080/employee/getAll

让我知道这是否可以解决访问问题以及哪种方法可行。