首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能从kubernetes集群访问我的web服务?

为什么我不能从kubernetes集群访问我的web服务?
EN

Stack Overflow用户
提问于 2020-08-24 06:10:13
回答 1查看 1.1K关注 0票数 0

我试图在kubernetes集群中执行一个应用程序。过去,我使用docker启动应用程序,没有问题,但是当我创建kubernetes部署文件时,即使在公开这些文件之后,我也无法访问集群内的服务。下面是我的部署文件:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
spec:
  replicas: 3
  selector:
      matchLabels:
        app: myapp
  # type: LoadBalancer
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: jksun12/vdsaipro
       # command: ["/run.sh"]
        ports:
        - containerPort: 80
        - containerPort: 3306
   # volumeMounts:
   #     - name: myapp-pv-claim
   #       mountPath: /var/lib/mysql
   #   volumes:
   #   - name: myapp-pv-claim
   #     persistentVolumeClaim:
   #       claimName: myapp-pv-claim
---
apiVersion: apps/v1
kind: PersistentVolumeClaim
metadata:
  name: myapp-pv-claim
  labels:
    app: myapp
spec:
  accesModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 4Gi

这是

kubectl描述服务myapp-service

代码语言:javascript
复制
Name:                     myapp-service
Namespace:                default
Labels:                   <none>
Annotations:              <none>
Selector:                 app=myapp
Type:                     NodePort
IP:                       10.109.12.113
Port:                     port-1  80/TCP
TargetPort:               80/TCP
NodePort:                 port-1  31892/TCP
Endpoints:                172.18.0.5:80,172.18.0.8:80,172.18.0.9:80
Port:                     port-2  3306/TCP
TargetPort:               3306/TCP
NodePort:                 port-2  32393/TCP
Endpoints:                172.18.0.5:3306,172.18.0.8:3306,172.18.0.9:3306
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

下面是我试图访问这些错误时所遇到的错误:

curl 172.17.0.2:32393

代码语言:javascript
复制
curl: (1) Received HTTP/0.9 when not allowed

下面是我尝试访问另一个端口时的下一个结果

curl 172.17.0.2:31892

curl:(7)未能连接到172.17.0.2端口31892:连接拒绝curl;(7)未能连接到172.17.0.2端口31892:连接被拒绝

我正在运行ubuntu服务器20.04.1LTS。疯子就在迷你库贝的顶上。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-24 09:09:04

如果要从集群内部访问服务,请使用ClusterIP作为IP。所以卷曲应该是10.109.12.113:8010.109.12.113:3306

如果从集群外部访问它,则使用NODEIPNODEPORT。所以卷曲应该出现在<NODEIP>:32393<NODEIP>:31892

在集群内部,我还将直接使用POD is来了解问题是在服务级别还是在pod级别。

您需要确保应用程序侦听端口80和端口3306。只将containerPort称为803306并不能使应用程序侦听这些端口。

还请确保pod中的应用程序代码正在侦听0.0.0.0而不是127.0.0.1

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63555568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档