使用Spring Boot, Istio和Cert Manager实现Kubernetes的HTTPS


在本文中,您将学习如何在 Kubernetes 上创建安全的 HTTPS 网关。我们将使用Cert Manager生成 TLS/SSL 证书。
使用Istio,我们可以创建安全的 HTTPS 网关并将它们暴露在 Kubernetes 集群之外。
我们的测试应用程序建立在 Spring Boot 之上。我们将考虑两种不同的方法来保护该应用程序。

首先,我们将在网关上设置双向 TLS,在应用端设置一个普通端口;然后,我们使用在 Spring Boot 应用程序上配置的安全 2-way SSL 运行一个场景。让我们看看它的外观。

先决条件
在开始之前,我们需要准备一个测试集群。就个人而言,我使用的是本地 OpenShift 集群,它简化了我们需要的几个工具的安装。但是您也可以使用任何其他 Kubernetes 发行版,例如minikubekind。不管你选择哪个版本,你至少需要安装:

  1. Istio – 您可以通过多种方式进行操作,这是Istio CLI的说明
  2. 证书管理器 - 最简单的安装方法kubectl
  3. Skaffold(可选)——一个 CLI 工具,用于简化在 Kubernetes 上部署 Spring Boot 应用程序并使用单个命令应用该练习中的所有清单。您可以在此处找到安装说明
  4. Helm – 用于在 Kubernetes(或 OpenShift)上安装其他工具

源码: GitHub 存储库

详细点击标题