当服务在 kubernetes 上公开时,无法访问此站点

问题描述 投票:0回答:1

我是 kubernetes 新手,我正在尝试编写 file.yaml 以在我的 kubernetes 集群上公开 the-hive 服务。文件如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: thehive-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: thehive
  template:
    metadata:
      labels:
        app: thehive
    spec:
      containers:
      - name: thehive
        image: strangebee/thehive:5.2
        ports:
        - containerPort: 80
        
---
apiVersion: v1
kind: Service
metadata:
  name: thehive-service
spec:
  type: LoadBalancer
  selector:
    app: thehive
  ports:
   - name: http
     protocol: TCP
     port: 80
     targetPort: 80

pod、部署和服务运行成功。但是当我去做

minikube service thehive-service
并给我一个地址时,浏览器说:“无法访问该网站”。我想了解我做错了什么。

kubernetes minikube
1个回答
0
投票

这一切都取决于您在何处以及如何配置 kubernetes 集群,让我进一步补充一下 先生。 David Maze 提出了建议。假设您已经按照以下情况配置了 kubernetes 集群:

案例1:如果您使用docker桌面作为minikube容器运行时并将其部署在本地系统上,如David Maze建议,您可以使用docker命令公开应用程序并尝试访问通过使用该系统的浏览器

即使在暴露之后,如果您仍然无法访问您的应用程序,请检查应用程序是否正常运行,您可以通过查看 docker 日志来验证这一点。

检查是否启用了任何 apparmor、UFW 或 SElinux 规则,或导致应用程序端口到达外部时出现问题。

案例 2:如果您已将应用程序部署在虚拟机内,并且您已在任何云提供商上配置该虚拟机,并且正在尝试从本地系统访问该应用程序。无法使用本地主机访问应用程序,您需要获取部署应用程序的虚拟机的公共 IP 地址,并配置必要的防火墙规则以将该应用程序公开到外部。

注意: 如果您使用任何 Playground 来练习 Kubernetes,您的应用程序不能暴露在该 Playground 之外。

© www.soinside.com 2019 - 2024. All rights reserved.