使用 Helm 和 Minikube 部署带自签名 TLS 的 Nginx(开发和预发布环境)

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

本文讲解如何在 Minikube Kubernetes 集群中使用 Helm 部署带自签名 TLS 证书的 Nginx 服务器。教程创建了开发和预发布环境,以模拟真实场景。步骤包括启动 Minikube、创建 Helm 图表、生成自签名证书、配置环境文件,并使用 Helm 部署 Nginx。最后,通过浏览器测试部署效果。

🎯

关键要点

  • 本文讲解如何在 Minikube Kubernetes 集群中使用 Helm 部署带自签名 TLS 证书的 Nginx 服务器。

  • 创建开发和预发布环境,以模拟真实场景,便于测试和生产环境的分离。

  • TLS 确保客户端与服务器之间的流量加密,保护敏感数据。

  • 在开始之前,需要安装 Helm、Minikube 和 Kubectl 工具。

  • 启动 Minikube 集群并启用 Nginx ingress。

  • 将 Minikube IP 映射到自定义域名,以便访问 Nginx 服务器。

  • 创建 Helm 图表 nginx-chart 来管理 Nginx 部署,包括 Deployment、Service、Ingress 和 TLS 秘密。

  • 定义 Kubernetes 资源,包括 Nginx 的 Deployment、Service 和 Ingress 资源。

  • 为预发布环境生成自签名证书,并将其存储在 Helm 图表的 tls/ 目录中。

  • 使用不同的 values 文件配置开发和预发布环境。

  • 使用 Helm 部署 Nginx 到开发和预发布环境。

  • 验证两个命名空间中的部署情况,检查创建的资源。

  • 通过浏览器访问指定的 URL 测试部署效果。

  • 总结了如何使用 Helm 在 Minikube 中部署带自签名 TLS 的 Nginx,并管理不同环境的配置。

延伸问答

如何在 Minikube 中启动 Nginx 服务器?

可以通过启动 Minikube 集群并启用 Nginx ingress 来启动 Nginx 服务器。

自签名 TLS 证书的生成步骤是什么?

使用 OpenSSL 生成自签名证书,命令为 `openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls/tls.key -out tls/tls.crt -subj "/CN=noelbansikah.com"`。

Helm 图表的结构是怎样的?

Helm 图表的结构包括 Chart.yaml、templates 目录(包含 deployment.yaml、ingress.yaml、service.yaml 和 tls-secret.yaml)以及 values-dev.yaml 和 values-staging.yaml 文件。

如何使用 Helm 部署 Nginx 到开发和预发布环境?

使用 `kubectl create namespace` 创建命名空间,然后使用 `helm install` 命令分别部署到开发和预发布环境。

为什么要使用 TLS 和分离的开发与预发布环境?

TLS 确保客户端与服务器之间的流量加密,保护敏感数据;分离的环境便于在生产前进行充分测试,捕捉潜在问题。

如何验证 Nginx 部署是否成功?

可以通过 `kubectl get all -n <namespace>` 命令检查资源,或通过浏览器访问指定的 URL 测试部署效果。

🏷️

标签

➡️

继续阅读