k8s-8 ingress
作者:mmseoamin日期:2023-12-14

ExternalName类型

集群外的资源往集群内迁移时,地址并不稳定,访问域名或者访问方式等会产生变化;

使用svc的方式来做可以保证不会改变:内部直接访问svc;外部会在dns上加上解析,以确保访问到外部地址。

k8s-8 ingress,第1张k8s-8 ingress,第2张

此种类型方式便于我们做资源迁移。


nodeport默认端口

k8s-8 ingress,第3张

k8s-8 ingress,第4张

nodeport默认端口是30000~32767,超出会报错

添加以下参数,端口范围可以自定义

k8s-8 ingress,第5张k8s-8 ingress,第6张

externalname

k8s-8 ingress,第7张k8s-8 ingress,第8张


ingress -nginx

通过一个外部的vip地址访问到集群内的多个service

k8s-8 ingress,第9张

部署

官网:Installation Guide - Ingress-Nginx Controller

进入官网

k8s-8 ingress,第10张k8s-8 ingress,第11张

进入dockerhub官网

搜索ingress-nginx,拉取镜像

k8s-8 ingress,第12张k8s-8 ingress,第13张

上传镜像(在harbor仓库先新建一个ingress-nginx项目)

k8s-8 ingress,第14张k8s-8 ingress,第15张

如果有科学上网可以直接上传下面的镜像

k8s-8 ingress,第16张k8s-8 ingress,第17张k8s-8 ingress,第18张


修改镜像位置

k8s-8 ingress,第19张k8s-8 ingress,第20张k8s-8 ingress,第21张

部署

k8s-8 ingress,第22张

将svc的nodeport方式改为LoadBalancer

k8s-8 ingress,第23张k8s-8 ingress,第24张k8s-8 ingress,第25张

以上ingress-Nginx部署成功


创建ingress策略

k8s-8 ingress,第26张k8s-8 ingress,第27张k8s-8 ingress,第28张

对ingress做一些扩展

基于域名访问:

k8s-8 ingress,第29张

当前的LoadBalancer类型有一个外部地址,只要将外部地址添加进域名解析上就可以进行访问

k8s-8 ingress,第30张k8s-8 ingress,第31张k8s-8 ingress,第32张

访问域名就是访问到vip,访问vip就是访问到控制器,访问控制器就是访问到控制器的pod;相当于nginx做反向代理服务。

基于路径访问:

创建svc

k8s-8 ingress,第33张k8s-8 ingress,第34张k8s-8 ingress,第35张k8s-8 ingress,第36张k8s-8 ingress,第37张

创建ingress

k8s-8 ingress,第38张k8s-8 ingress,第39张

测试k8s-8 ingress,第40张k8s-8 ingress,第41张

适合重定向到集群的不同的业务域

回收

k8s-8 ingress,第42张

基于域名访问:

k8s-8 ingress,第43张k8s-8 ingress,第44张

测试

k8s-8 ingress,第45张

回收

k8s-8 ingress,第46张