首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Kubernetes入口指定自定义Istio入口网关

如何在Kubernetes入口指定自定义Istio入口网关
EN

Stack Overflow用户
提问于 2021-08-03 09:36:59
回答 1查看 617关注 0票数 2

我部署了Istio 使用操作符,并添加了一个定制的入口网关,它只能从特定的源范围(我们的VPN)访问。

代码语言:javascript
运行
复制
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: ground-zero-ingressgateway
spec:
  profile: empty
  components:
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
      - name: istio-vpn-ingressgateway
        label:
          app: istio-vpn-ingressgateway
          istio: vpn-ingressgateway
        enabled: true
        k8s:
          serviceAnnotations:
            ...
          service:
            loadBalancerSourceRanges:
              - "x.x.x.x/x"

现在,我希望将Istio配置为使用Kubernetes入侵资源公开服务网格集群之外的服务。我使用kubernetes.io/ingress.class注释告诉Istio网关控制器它应该处理这个Ingress

代码语言:javascript
运行
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    kubernetes.io/ingress.class: istio
spec:
   ...
  • Kubernetes版本(EKS):1.19
  • Istio版本: 1.10.3

现在使用的是哪个入口网关控制器(istio-ingressgateway还是istio-vpn-ingressgateway)?是否有一种方法来指定应该使用哪一种?

我知道我可以创建一个VirtualService并指定正确的网关,但是我们希望通过使用注释指定正确的入口控制器来编写一个没有Istio的清单。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-18 12:13:12

您可以创建一个入口类,该类引用默认情况下部署在istio命名空间中的入口控制器。这种带有入口的配置将起作用,但据我目前所知,这只用于向后兼容性。如果您想使用伊索入口控制器功能,则应该使用istio网关和虚拟服务:

建议使用Istio网关,而不是Ingress,以使用Istio提供的完整功能集,例如丰富的流量管理和安全特性。

如果此解决方案对您来说不是最佳解决方案,则应该使用例如nginx入口控制器,并且仍然可以将其绑定到注解 (不推荐)或使用IngressClass。据我目前所知,不可能用附加的入口控制器绑定这个入口类。如果需要解释,文档,应该创建一个github问题

摘要:推荐的选项是将网关与虚拟服务一起使用。另一种可能是单独使用nginx,为它们提供不同的类和入口资源。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68633656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档