gpt4 book ai didi

azure - 如何在 Azure Kubernetes 服务上公开 http/https 应用程序

转载 作者:行者123 更新时间:2023-12-02 11:39:35 25 4
gpt4 key购买 nike

我正在将我的 docker 化应用程序移植到 kubernetes,但在使用 aks 创建负载均衡器时遇到问题:

The Service "lbalance" is invalid: spec.ports[0].nodePort: Invalid value: 80: provided port is not in the valid range. 
The range of valid ports is 30000-32767

配置非常简单

apiVersion: v1
kind: Service
metadata:
name: lbalance
spec:
selector:
app: lbalance
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 80
name: http
- protocol: TCP
port: 443
targetPort: 443
nodePort: 443
name: https
type: LoadBalancer

其后面是一个 haproxy,它对集群内公开的其他服务具有 ssl 终止

在我的测试环境中,我有一个属性来控制要打开的端口 ( --service-node-port-range ),但我在门户页面和 Azure 文档中都找不到该属性。

是否有一种方法可以在默认端口上提供服务,或者有推荐的方法来连接回该端点端口吗?

最佳答案

您需要从 yaml 中删除 nodePort 声明,它将由 kubernetes 从错误文本中提到的池中分配(您唯一可以使用的池)。

apiVersion: v1
kind: Service
metadata:
name: lbalance
spec:
selector:
app: lbalance
ports:
- protocol: TCP
port: 80
targetPort: 80
name: http
- protocol: TCP
port: 443
targetPort: 443
name: https
type: LoadBalancer

这样您的服务就可以在 80\443 上使用,并且一切都会正常工作

关于azure - 如何在 Azure Kubernetes 服务上公开 http/https 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56279479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com