首页 > 解决方案 > 无法从 Kubernetes 访问应用程序

问题描述

我创建了一个简单的 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

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

谢谢

拉金达尔

标签: dockerkuberneteskubectlminikube

解决方案


Minikube 使用虚拟机来提供单节点集群。公开 NodePort 服务时,从 VM 的角度来看,它是本地的,这通常与您的本地计算机不同。

用于minikube ip确定机器的 IP 并使用该 IP 代替localhost127.0.0.1访问 minikube 集群上的 NodePort 服务。


推荐阅读