Kubernetes Service&LB&Networking:Ingress

准备工作

1、启用 minikube 的 ingress 插件

2、补全 ingress 插件所需的镜像

说明:网络好可以忽略此步骤

3、创建 2 个服务

创建服务 blog-anoyi : Anoyi 的个人博客

创建服务 blog-science : 科学Jia 的个人博客

Ingress 类型

1、Single Service Ingress

简单服务路由,将 Node 的入站流量从 80 端口转发到服务 blog-anoyi, 查看 ingress 规则:

即:访问 http://192.168.99.100/ 等于访问 http://172.17.0.3:8080/ ,在浏览器中访问会显示 Anoyi 的博客

2、Name based virtual hosting

说明: 192.168.99.100 为 Ingress 中的 Address

3、Simple fanout

简单路径转发,将 http://anoy.com/anoyi 路径的请求转发到服务 blog-anoyi ,将 http://anoy.com/science 转发到服务 blog-science,ingress 规则如下:

因该博客镜像的路径跳转不适应此场景,所以此处不截图具体效果。

TLS

您可以通过指定包含 TLS 私钥和证书的 Secure 来保护 Ingress。目前,Ingress 只支持一个 TLS 端口 443。如果 Ingress 中 TLS 的配置部分指定了不同的主机,则它们将根据通过 SNI TLS 扩展指定的主机名(在 Ingress Controller 支持 SNI 的情况下)在同一端口进行多路复用。TLS 密钥必须包含名为 和 的密钥,其中包含用于 TLS 的证书和私钥。

示例:为"Name based virtual hosting"类型的 Ingress 添加 TLS

生成 CA 私钥与证书

查看 与 的 base64 值:

创建包含 和 的 Secret

创建带 TLS 的 Ingress

访问 https://anoyi.anoy.com/ 发现浏览器显示 "不安全",因为这个证书没有通过提三方认证

如何解决呢?很简单,将 添加到系统受信任的证书列表。

相关文档

Kubernetes Ingress : https://kubernetes.io/docs/concepts/services-networking/ingress/

Kubernetes Secret : https://kubernetes.io/docs/concepts/configuration/secret/

自制 Https 证书 : http://zhaox.github.io/security/2015/11/09/diy-https

科学Jia 的简书 : https://www.jianshu.com/u/66a89bc4d1b3

最好的赞赏

就是你的关注

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606B07DEY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券