在上一篇文章介绍完 Service 後,看似解决了对外连接的问题,但大家一定会发现 port 真的太丑了,现在应该没有任何一个网站除了网域之外後面还要加 port 吧XD
为了解决这个问题,今天的文章就要来介绍 Ingress,由於 Ingress 能介绍的东西真的太多了,只用一篇文章怕读者会比较不好吸收(其实是可以多占几篇铁人赛的篇幅XD),这边笔者预计会用三天的时间来完整的介绍整个 Ingress,废话不多说马上开始今天的文章吧!
Ingress 可以帮助我们统一对外的 port number,并且根据 hostname 或是 pathname 决定请求要转发到哪个 Service 上,之後就可以利用该 Service 连接到 Pod 做事情了,而 K8s 的 Ingress 会统一开 http 的 80 port 以及 https 的 443 port。
上面的段落简单的介绍了 Ingress 的观念後,接下来介绍一下 Ingress 真正的功能吧!
将不同路径的请求对应到不同的 Service 物件
若没有设定网域,则该机器上所有网域只要透过此路径均可以连接到指定的 Service 物件。
将不同网域的请求对应到不同的 Service 物件
若没有设定路径,则会以 /路径连接到指定的 Service 物件。
支援 SSL Termination
SSL 全名为:传输层安全性协定,而网站通常都会利用 https 进行加密以确保资料安全,但 Service 与 Pod 之间的沟通都是以无加密方式传输,所以 Ingress 就支援解密,让 Service 与 Pod 可以正常沟通传递资料。
最後加了 Ingress 後架构图就会长得像下图这样,这里笔者故意用网域以及路径的方式来表示 Ingress 的连结到 Service 的方式。
由於 minikube 本身并没有启用 Ingress 的功能,因此需要额外下指令让 minikube 可以顺利的使用 Ingress ,启动方法也很简单只要在终端机下 minikube addons enable ingress
即可。
加了 Ingress 後基本上就需要网域才可以使用了,但我们都在本机端上练习而已,所以也不用刻意去网路上购买网域,只要修改本机的 host 档案就可以了。
首先在终端机下 sudo vim /etc/hosts
并输入电脑密码後,在档案内加入 minikube ip 以及想要呈现的网域名称即可,写法如下。
今天介绍了 Ingress 的基本观念以及如何在 minikube 上启用,有了这些观念後再来介绍整体的写法跟应用会更得心应手。
接下来的文章就要介绍 Ingress 的写法跟建立了,如果对於文章有任何问题都欢迎留言给我,那我们就下篇文章见喽~
<<: Day 10 - 将 DEALERS 後台储存资料提取後,送至前台渲染画面 - Literal 控制项应用 - ASP.NET Web Forms C#
>>: Day.15 「条件设定好~让程序判断!」 —— JavaScript 条件判断式
导览列(Navigation)是每个网站必要且重要的元件,当使用者进到网页想马上找寻想要的资讯,好的...
强型闯入DenoLand[33] - Web API 正式完成! 昨天笔者介绍了 deno_mon...
一般而言,要安装 Linux,又要保留原本的系统,就得再先了解一下硬碟分割,通常都会以 GRUB ...
消费者每天搜寻的字词中,根据 Google 的统计,每天有 15% 以上的新的搜寻字词出现。因此编辑...
今天来说说「命题」 命题是指「可以被判断对错的一个叙述」 另外还有否命题、逆命题、否逆命题 原命题:...