kubernetes - 关于Kubernetes中Consul Ingress-Gateway的问题
问题描述
我希望在我的 Kubernetes 集群中设置一个领事服务网格,并且需要启用入口网关。我的计划是将入口网关作为 ClusterIP 服务和 Kubernetes 入口(Nginx 入口)运行以将流量引导到该入口。我一直在阅读 Consul.io 上有关 Ingress Gateway 的教程,并且对某些事情感到困惑。掌舵图有一个gateways:
带有名称的列表。
helm chart 构建的服务名称是否必须与 ingress 的 consul 配置匹配(减去 helm 应用的前缀)?
如果不必匹配,我可以在同一个端口上设置多个领事入口网关吗?
例子:
$ cat myingress.hcl
Kind = "ingress-gateway"
# does the following Name need to match kubernetes service
Name = "ingress-gateway"
Listeners = [
Port = 8080
......
]
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
consul-ingress-gateway ClusterIP <blah> <blah> 8080/TCP,8443/TCP
......
解决方案
配置条目中的Name
字段必须与在 Consul 中注册的服务名称匹配。默认情况下,Helm 图表使用名称“ingress-gateway”(https://www.consul.io/docs/k8s/helm#v-ingressgateways-gateways-name)。
您可以使用name
必须为ingressGateways.gateways
Helm 图表的值文件中的数组下列出的每个入口网关定义的字段来自定义它。例如:
---
ingressGateways:
gateways:
- name: ingress-gateway
service: LoadBalancer
ports:
- 8080
- name: nonprod-gateway
service: LoadBalancer
ports:
- 9000
推荐阅读
- matlab - 基于分布函数生成随机数
- reactjs - Reactjs antd modal 自定义选择
- mongodb - 使用 updateOne 聚合管道
- c# - 根据机器本地设置,将带有时区的日期时间解析为 DateTimeOffset 的行为会有所不同
- git - 在本地 git 分支之间传输文件
- r - 使用 dplyr 根据低于某个值的观察数删除组
- flutter - 如何在颤动中为打开的屏幕文本设置动画?
- python - 查找给定列的 pandas df 中的第一个出现
- java - 尽管指定了类路径,Java“找不到或加载主类”?
- php - PHP 在 mysqli_fetch_array 上打破表行