当前位置: 首页 > 知识库问答 >
问题:

Mac Kubernetes负载平衡器NoHttpResponseException的Docker

费明诚
2023-03-14

我正在尝试运行一个连接到部署pod的简单负载平衡服务器。
我安装了Docker for Mac edge版本。
问题是,当我尝试向公开的负载均衡器urlhttp://localhost:8081/api/v1/posts/health发出GET请求时,出现的错误是:

org.apache.http.localhost:8081响应失败

做的时候:

k get services 

我得到:

很明显,服务正在运行,但localhost:8081没有响应,不知道为什么,我一直在努力解决这个问题。

我的服务资源:

---
apiVersion: v1
kind: Service
metadata:
  name: posts-api-svc
  # namespace: nginx-ingress
  labels:
    app: posts-api
    rel: beta
    env: dev
spec:
  type: LoadBalancer
  selector:
    app: posts-api
    rel: beta
    env: dev
  ports:
    - protocol: TCP
      port: 8081

我的部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: posts-api-deployment
  # namespace: nginx-ingress
  labels:
    app: posts-api
    rel: beta
    env: dev
spec:
  replicas: 1
  selector:
    matchLabels:
      app: posts-api
      env: dev
      rel: beta
  template:
    metadata:
      labels:
        app: posts-api
        env: dev
        rel: beta
    spec:
      containers:
        - name: posts-api
          image: kimgysen/posts-api:latest
          ports:
          - containerPort: 8083
          livenessProbe:
            httpGet:
              path: /api/v1/posts/health
              port: 8083
            initialDelaySeconds: 120
            timeoutSeconds: 1

应该是一个基本的设置!

我的部署pod不显示任何重启,一切看起来都很好:

欢迎任何建议!

注:

编辑

使用端口31082时,我得到错误:

组织。阿帕奇。http。conn.HttpHostConnectException:连接到本地主机:31082[本地主机/127.0.0.1]失败:连接被拒绝(连接被拒绝)

我使用端口8083没有具体原因<这是因为我先尝试了nodeport(使用多个服务),现在是负载平衡器<下一步是进入,但我第一次并没有真正成功,所以我试着一步一步来。

我使用端口8081而不是端口80,因为我在某处读到在Mac OSX上端口80仅供root用户使用。

共有1个答案

温凯
2023-03-14

服务端口必须对应于部署容器端口。
我现在可以在localhost:8083上访问api。

 类似资料:
  • 这意味着Zookeeper将负载均衡器理解为一个客户机,并与之建立联系。但是负载均衡器只是ping TCP2181就出来了。

  • 我有两条溪流。一个是事件流,另一个是数据库更新流。我想用从DB更新流构建的信息丰富事件流。 事件流非常庞大,使用5个字段进行分区。这给了我很好的分配。DB流不那么喋喋不休,并且使用两个字段进行分区。我目前正在使用两个公共字段连接这两个流,并使用flapMap来丰富第一个流。flatMap运算符使用ValueState维护状态,状态由两个公共字段自动键入。 除了实现自定义逻辑来手动提取键并更新维护状

  • 试图自学如何使用库伯内特斯,但有一些问题。 我的下一步是尝试使用LoadBalancer类型的服务来访问nginx。 我建立了一个新的集群并部署了nginx映像。 然后,我为LoadBalancer设置服务 设置完成后,我尝试使用LoadBalancer入口(我在描述LoadBalancer服务时发现)访问nginx。我收到一个此页面无法工作的错误。 不太确定我哪里出错了。 kubectl获得sv

  • kubernetes集群与api服务器(https://192.168.0.10:6443) 想法: 从我的笔记本电脑,我想运行kubectl,指向负载均衡器,在那里牧师代理将把我重定向到api服务器。 步骤: -我将kubeconfig(笔记本电脑上)文件中的服务器ip更改为LB的ip:https://192.168.0.10:6443是http://10.10.0.2:8080/ -我这样配置

  • 我是微服务的新手。(学习阶段)。我有一个问题。我们在云中部署微服务。(例如 AWS)。云已经提供了负载平衡和日志。我们还在Spring Boot中实现了负载平衡(功能区)和日志(Rabbit MQ和Zipkin)。这两种实现有什么区别?我们两者都需要吗?有些人可以回答这些问题吗? 提前感谢。

  • 我希望在现有的服务器设置中集成WAF,因为我有经典的负载平衡器(带有EC2实例),它不支持WAF,我需要迁移到应用程序负载平衡器。 是否可以在不更改DNS(记录)的情况下将现有的经典负载平衡器迁移到应用程序负载平衡器?