Digital Ocean 负载均衡器,无法使用 doctl 修改负载均衡器规则

Digital Ocean 负载均衡器,无法使用 doctl 修改负载均衡器规则

我在 Digital Ocean 上有一个托管的 kubernetes 环境。它有一个负载均衡器。我正在尝试将 target_port 分配给 tcp:3000。

我希望外部端口为 tcp:80,内部端口为 tcp:3000。Kubernetes
对我来说很新,我唯一的参考框架是配置 nginx 反向代理。

以下是当前的转发规则:

entry_protocol:tcp,
entry_port:80,
target_protocol:tcp,
target_port:32726,
certificate_id:,
tls_passthrough:false

这是我尝试用来设置 target_port 规则的命令 doctl compute load-balancer add-forwarding-rules <LB_ID> --forwarding-rules target_port:30000

错误: Error: POST https://api.digitalocean.com/v2/load_balancers/<LB_ID>/forwarding_rules: 422 (request "") forwarding rule entry port must be between 1 and 65535

我也尝试过使用协议名称 doctl compute load-balancer add-forwarding-rules <LB_ID> --forwarding-rules target_protocol:tcp,target_port:30000

错误: Error: POST https://api.digitalocean.com/v2/load_balancers/<LB_ID>/forwarding_rules: 422 (request "") protocols are not on the same network layer

答案1

我试图为已经存在的入口端口添加一条规则。因此,我删除了入口端口 80 的规则并添加了另一条规则。我还必须添加占位符规则(未显示),以便始终有一个规则,否则 doctl 会抛出错误。

删除了转发规则 doctl compute load-balancer remove-forwarding-rules <LB> --forwarding-rules entry_protocol:tcp,entry_port:80,target_protocol:tcp,target_port:32726

添加了新的 doctl compute load-balancer add-forwarding-rules <LB_ID> --forwarding-rules entry_protocol:tcp,entry_port:80,target_protocol:tcp,target_port:3000

相关内容