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

如何在Istio入口网关上启用HTTPS

微生青青
2023-03-14

我试图在安装服务网格、网关和应用路由策略后,在我的Istio入口网关上启用HTTPS。最初的Istio安装是使用一个配置文件完成的,该配置文件包括一个istio-ingress网关服务。当我这样做时,它将入口网关创建为Kind: Service,而不是Kind: Gateway

我看了这个:https://istio.io/latest/docs/tasks/traffic-management/ingress/secure-ingress/但是,本教程只描述了如何将证书应用于网关类型,而不是服务类型。

将SSL证书应用于入口网关服务的正确方法是什么,或者有更好的方法吗?

Istio简介YAML

谢谢你的帮助!

编辑:问题解决了。

昨晚,在尝试创建clusterIssuer并安装cert manager等之后,我重新阅读了教程,结果很差(由于某种原因,证书从未被证书颁发机构接受,所以我只有密钥文件和空证书文件)。最终,创建自己的证书变得更加容易。

问题是,当我只需要指向试图从网关发送流量的服务端口时,我正在引用虚拟服务中的TLS端口。

这篇文章帮助我更好地理解了:安全入口-Istio通过示例以及我已经在上面链接的官方Istio安全入口教程。

从那里我创建了一个新的秘密,运行了一个创建工作证书的脚本(基本上只是一个遵循Istio教程步骤的bash脚本),然后确保我的网关文件中的凭据名称与我创建的新秘密匹配。

共有3个答案

陈畅
2023-03-14

我建议你只需遵循下面提到的步骤-

使用基于掌舵图的步骤从这里安装cert manager

你可以跟随这篇文章

请注意-您不需要在这里创建tls秘密,证书管理器将根据证书中提到的名称自动创建秘密,一旦您将秘密名称修补到TLS,证书管理器将执行顶点挑战,一旦成功,证书将获得就绪状态。

使用

cert-manager.io/v1alpha2

集群发行者中的api版本,如果只有上面提到的版本是不可接受的

曹涵润
2023-03-14

有些概念有点混淆:

  • 网关自定义资源将同时配置istio入口网关
  • Kubernetes服务将创建一个外部可访问的IP

使用外部可访问的IP,流量将被发送到istio-ingress网关,在那里您的证书使用网关CR配置,您将拥有一个HTTPS连接。

田阳泽
2023-03-14

当您部署istio安装程序时,它将创建

  • 种类:服务,istio ingressgateway
  • 种类:deployemnt、istio ingressgateway

然后你可以用https://istio.io/latest/docs/tasks/traffic-management/ingress/secure-ingress/,这将配置您的ssl。

  • 类型:秘密,在命名空间:istio-system
  • 类:网关,上面提到的秘密。
  • 种:虚拟服务,链接到此网关,并指定。应用程序。
 类似资料:
  • 我有一个在kubernetes pod中运行的应用程序(在我的本地docker桌面上,启用kubernetes),监听端口8080。然后我有以下kubernetes配置 这个很好用。但我想把443端口改成其他端口,比如8443(因为我将有多个网关)。当我有这个,我不能再访问应用程序了。是否有一些配置我遗漏了?我猜我需要配置Istio来接受8443端口?我使用以下命令安装了istio: 编辑:我读了

  • 这起作用了 这不是

  • 我正在尝试在本地使用wsl2和docker desk运行bookinfo示例。由于连接被拒绝,我试图通过网关访问productpage服务时遇到问题。我不确定我是否错过了什么。以下是我在网上搜索了很多次后所做的事情 部署了bookinfo示例中的所有服务,并且所有服务都处于运行状态,我可以使用kubectl exec从其他服务中创建productpage 使用示例中的文件部署bookinfo网关,

  • 我尝试使用openshift路由配置istio入口。据我所知,请求路径如下:

  • 我们的GKE集群共享给公司的多个团队。每个团队可以有不同的公共域(因此希望有不同的CA证书设置和不同的入口网关控制器)。在Istio怎么做?Istio网站上的所有教程/介绍文章都使用了共享入口网关。请参见ISTIO-1.0.0安装的共享入口网关示例:https://istio.io/docs/tasks/traffic-management/secure-ingress/

  • 当将外部负载平衡器与istio入口网关(分布在不同节点上的多个副本)一起使用时,它如何识别可能命中的istio入口网关,即我可以手动访问任何节点的nodeip:nodeport/endpoint,但外部负载平衡器如何知道所有节点。 这是手动配置的还是负载均衡器从API中使用此信息是否有绕过外部负载均衡器的推荐策略,例如。roundrobin跨知道节点ip/端口的DNS? 这个问题的根源是——我们如