【问题标题】:unable to access application from kubernetes无法从 Kubernetes 访问应用程序
【发布时间】:2019-11-20 22:06:31
【问题描述】:

我创建了一个简单的 php 应用程序,试图从 kubernetes 集群访问,但我无法访问该应用程序

我的部署.yml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: phpdeployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: phpapp
  template:
    metadata:
      labels:
        app: phpapp
    spec:
      containers:
      - image: rajendar38/myhtmlapp
        name: myhtmlapp
        ports:
        - containerPort: 80

我的服务.yml

apiVersion: v1
kind: Service
metadata:
  name: php-service
spec:
  selector:
    app: myhtmlapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 31000
  type: NodePort

rajendar@HP-EliteBook:~/Desktop/work$ kubectl get services
NAME          TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
kubernetes    ClusterIP   10.96.0.1        <none>        443/TCP        26h
my-service    ClusterIP   10.102.235.244   <none>        4000/TCP       24h
php-service   NodePort    10.110.73.30     <none>        80:31000/TCP   22m

我正在为这个应用程序使用 minikube 当我尝试连接到 http:127.0.0.1:31000/test.html 我无法连接到应用程序

谢谢

拉金达尔

【问题讨论】:

  • 如何运行 php 应用程序?它真的在监听容器中的 80 端口吗?你在本地机器上用纯 docker 测试过吗?
  • docker run -d -p 4000:80 rajendar38/myhtmlapp ,我能够以这种方式运行 docker image 也可以访问它
  • 能否在尝试访问应用程序时添加错误消息?
  • Firefox 无法与 localhost:31000 的服务器建立连接。该站点可能暂时不可用或太忙。请稍后再试。如果您无法加载任何页面,请检查您计算机的网络连接。如果您的计算机或网络受到防火墙或代理的保护,请确保允许 Firefox 访问网络。
  • 我的图片在 docker hub 里,你也可以试试 .docker pull rajendar38/myhtmlapp

标签: docker kubernetes kubectl minikube


【解决方案1】:

Minikube 使用虚拟机来提供单节点集群。 当暴露一个 NodePort 服务时,从 VM 的角度来看它是本地的,这通常与您的本地机器不同。

使用minikube ip 确定机器的IP,并使用该IP 而不是localhost127.0.0.1 来访问minikube 集群上的NodePort 服务。

【讨论】:

    【解决方案2】:

    目标端口和端口是相同的 80,因此服务都使用端口 80 试试

        port: 8000
        targetPort: 80
    

    【讨论】:

      【解决方案3】:

      正如@Thomas 所说,您必须通过以下方式找到 VM 的 IP:

      minikube ip
      

      在您的情况下,使用此 IP 和端口 31000 启动服务后。

      【讨论】:

        猜你喜欢
        • 2022-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-01
        • 1970-01-01
        • 2021-09-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多