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

目录nginx

1 前言架构

2 邀约app

3 externalName 介绍ide

4 externalName 样例学习

    4.1 jiuxi-client.yamlspa

    4.2 jiuxi-client-svc.yaml3d

    4.3 jiuxi-nginx.yaml视频

    4.4 jiuxi-nginx-svc.yamlblog

    4.5 jiuxi-ns.yamlip

5 验证样例


1 前言

        若是你对博客有任何疑问,请告诉我。

1.png


2 邀约

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

clipboard2.png


3 externalName 介绍

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

spacer.gifclipboard3.png

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

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

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


4 externalName 样例

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

clipboard4.pngspacer.gif

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

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

jiuxi-client.yaml # httpd pod

jiuxi-client-svc.yaml # httpd svc

jiuxi-nginx.yaml # nginx pod

jiuxi-nginx-svc.yaml # nginx svc

jiuxi-ns.yaml # nginx namespace

4.1 jiuxi-client.yaml

spacer.gifclipboard5.png

4.2 jiuxi-client-svc.yaml

spacer.gifclipboard6.png

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

4.3 jiuxi-nginx.yaml

spacer.gifclipboard7.png

4.4 jiuxi-nginx-svc.yaml

spacer.gifclipboard8.png

4.5 jiuxi-ns.yaml

spacer.gifclipboard9.png

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

        首先建立 jiuxi-ns.yaml 命名空间,而后再应用其余资源文件,以下命令所示:

kubectl apply -f jiuxi-ns.yaml

kubectl apply -f jiuxi-client.yaml

kubectl apply -f jiuxi-client-svc.yaml

kubectl apply -f jiuxi-nginx.yaml

kubectl apply -f jiuxi-nginx-svc.yaml


5 验证样例

        全部 pod 都争取运行以后,登陆 client,而后执行以下语句:

wget -q -O - http://jiuxi-client-svc

wget -q -O - http://jiuxi-nginx-svc.nginx-ns.svc.cluster.local

        发现两种方式均可以正常访问。

        自此,九析带你轻松完爆 k8s service externalName。

相关文章
相关标签/搜索