我有下面的pod定义来运行nginx的基本实例
---
apiVersion: v1
kind: Pod
metadata:
name: basic
labels:
appName: static-website
spec:
containers:
- image: nginx
name: basic我已经做了以下服务定义
apiVersion: v1
kind: Service
metadata:
name: web-service-local
spec:
type: NodePort
ports:
- targetPort: 80
port: 80
nodePort: 30080
selector:
appName: static-website❌当我试图通过服务IP访问nginx页面时,它被卡住了
kubectl exec --stdin --tty basic -- /bin/bashcurl web-service-local我已经成功地证实了
kubectl get pods时得到一样
NAME READY STATUS RESTARTS AGE
basic 1/1 Running 0 7m22s服务选择器与荚标签
kubectl describe svc web-service-local | grep Selector | awk '{print $2}'kubectl describe pod basic | grep Labels | awk '{print $2}'匹配的
nginx正在运行
kubectl exec --stdin --tty basic -- /bin/bashcurl localhost以检索标准nginx homepage.。
kubectl get pods -l appName=static-website -o go-template='{{range .items}}{{.status.podIP}}{{"\n"}}{{end}}',返回的IP地址。
我可以验证服务和pod都在默认名称空间
kubectl get pod basic --namespace default中显示podkubectl get svc web-service-local --namespace default。
我可以验证DNS已经安装,
kubectl exec --stdin --tty basic -- /bin/bashapt update && apt upgrade && apt install dnsutils -ynslookup web-service-local,nslookup web-service-local.default和nslookup web-service-local.default.svc.cluster.local都返回sameServer: 10.96.0.10
Address: 10.96.0.10#53
Name: web-service-local.default.svc.cluster.local
Address: 10.106.61.252✅我已经验证了我可以通过端点IP访问nginx
kubectl describe svc web-service-local | grep Endpoints | awk '{print $2}' 端点IPkubectl exec --stdin --tty basic -- /bin/bashcurl **Endpoint IP**发布于 2021-08-28 06:05:59
由于您有NodePort服务类型的实现,请尝试使用nodeIP:从浏览器中的NodePort或执行curl,因为NodePort服务是直接获取服务的外部通信量的最原始方式。顾名思义,NodePort在所有节点(VM)上打开一个特定端口,发送到该端口的任何通信都被转发到服务。
curl -kvv Nodeip:NodePort 发布于 2021-10-03 09:15:42
配置起作用了。问题是我在当地安装了Minikube。我一搬到AKS就没事了
https://stackoverflow.com/questions/68960905
复制相似问题