前言

之前一直在内网环境做项目,由于和外网隔离一直用的是 http 协议, 新项目要求用 https 协议,项目服务都部署在 k8s 中,使用 ingress-nginx 作为网关。

从网上查找相关资料都是需要在 ingress 中配置 tls ,但是由于我创建的 ingress 比较多,且没有指定域名,一个一个去修改非常麻烦,而且开发人员在内网习惯使用 ip 来访问系统,一旦配置了域名,还需要开发人员去修改本地的 hosts 文件,所以我到 ingress-nginx 官网找到了解决办法。

配置默认的 tls 证书

准备证书和密钥文件

  • example.pem (或者example.crt都一样)
  • example.key

创建证书 secret

其中 tls-secret 是 secret 的名字:

$ kubectl create secret generic tls-secret --from-file=tls.crt=example.pem --from-file=tls.key=example.key

修改 ingress-nginx 配置

$ kubectl edit deploy ingress-nginx-controller -n ingress-nginx

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐