docker - 无法从 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 我无法连接到应用程序
谢谢
拉金达尔
解决方案
Minikube 使用虚拟机来提供单节点集群。公开 NodePort 服务时,从 VM 的角度来看,它是本地的,这通常与您的本地计算机不同。
用于minikube ip
确定机器的 IP 并使用该 IP 代替localhost
或127.0.0.1
访问 minikube 集群上的 NodePort 服务。