第五章 九析带你轻松完爆 k8s - service externalName 介绍

网友投稿 266 2022-10-28

第五章 九析带你轻松完爆 k8s - service externalName 介绍

目录

1 前言

2 邀约

3 externalName 介绍

4 externalName 样例

4.1 jiuxi-client.yaml

4.2 jiuxi-client-svc.yaml

4.3 jiuxi-nginx.yaml

4.4 jiuxi-nginx-svc.yaml

4.5 jiuxi-ns.yaml

5 验证样例

1 前言

如果你对博客有任何疑问,请告诉我。

2 邀约

你可以从 b 站搜索 “九析”,获取免费的、更生动的视频资料:

3 externalName 介绍

记得很多年前大陆流行音乐刚开始流行,李春波的一首《小芳》风靡大街小巷,正处于青春懵懂期的少男,顷刻间就被它的旋律捕获了,于是小芳就是初恋,初恋就是小芳。

后来上了大学,读了计算机系,学到了很多基于控制台的命令,但是不知道为什么,每当我敲打 ln 命令的时候,都会想起小芳,那时我天真地认为,只要找到了小芳,我就可以找到幸福,于是我向一个情场老手讨教全年级最好记的女生姓名叫什么?他想都没想,脱口而出——“殷静”、“史珍香”。

后来学了 k8s,知道了常用的 k8s service 类型—— ClusterIP、NodePort、LoadBalancer,唯独对 externalName 置若罔闻,直到有一天在学习 Istio Sidecar 这种 API 资源的时候,才突然领悟了 ExternalName 这种 k8s service 类型是使用场景。

externalName 这种 service 类型的作用类似软链或者快捷方式。下面举一个具体的例子。

4 externalName 样例

首先画出整个样例的架构图:

该样例目的是让处于 default 命名空间下的 访问到处于 nginx-ns 命名空间下的 nginx-svc,不像以往 svc-name.ns-name.svc.cluster.local 方式跨命名空间访问的方式,这里我们使用 externalName 方式。

基于上面的架构图,所需要的资源文件如下:

jiuxi-client.yaml # podjiuxi-client-svc.yaml # svcjiuxi-nginx.yaml # nginx podjiuxi-nginx-svc.yaml # nginx svcjiuxi-ns.yaml # nginx namespace

4.1 jiuxi-client.yaml

4.2 jiuxi-client-svc.yaml

关键点就在这个文件,该文件中指定了到 nginx-svc 的软链,这么做的好处是对使用者做到了透明,让使用者感觉就好像调用自己命名空间的服务一样。

4.3 jiuxi-nginx.yaml

4.4 jiuxi-nginx-svc.yaml

4.5 jiuxi-ns.yaml

自此整个样例代码编写完毕。

首先创建 jiuxi-ns.yaml 命名空间,然后再应用其他资源文件,如下命令所示:

kubectl apply -f jiuxi-ns.yamlkubectl apply -f jiuxi-client.yamlkubectl apply -f jiuxi-client-svc.yamlkubectl apply -f jiuxi-nginx.yamlkubectl apply -f jiuxi-nginx-svc.yaml

5 验证样例

所有 pod 都争取运行之后,登录 client,然后执行如下语句:

wget -q -O - -q -O - k8s service externalName。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:新闻接口(新闻资讯api接口)
下一篇:电影api(电影APP无广告)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~