kubenetes 中的ingress

10 篇文章 0 订阅
4 篇文章 0 订阅

kubenetes 中的ingress

一般在生产kubernetes中常使用nodePort进行服务的暴露。在集群前端使用nginx做反向代理,此种方式比较简单。抱着更加深入了解kubernetes的特性,本文不介绍nodePort,准备研究下ingress方式。去年在生产环境中因为xvlan使用的flannel,很快就成功了,以前的项目地址:https://github.com/shenshouer/k8s-ingress-controller。但没有文档记录加之现在kubernetes更新了好几个版本,变化比较大,准备重新试玩下,并将操作步骤记录。

使用calico的kubernetes

目前在使用calico或其他CNI网络插件作为xvlan的kubernetes集群中,如果选择ingress作为服务暴露的方式的话,可能不会成功。因为ingress的controller需要时用hostPort来暴露nginx的端口,所有服务访问都需通过绑定到宿主机的这个端口来进行。但CNI目前在k8s中好像与docker有冲突,如果在ingress-controller.yaml中设置类似配置:

...
        - containerPort: 80
          hostPort: 80
        - containerPort: 443
          hostPort: 443
...

此端口不能暴露到node上去。看github上issue中有人建议使用hostNetwork: true经测试发现,此pod将完全使用宿主机的网络,会造成ingress不能正常代理k8s中的service包括apiserver。在现有版本(当前版本v1.4.5)中我个人觉得如果使用了CNI插件,可能就无法使用ingress。issue地址:https://github.com/kubernetes/kubernetes/issues/23920#issuecomment-258318912

因此在后续的文章中,我将本地的calico环境改成flannel,继续进行ingress的实验,并完善此文章。

使用flannel的kubernetes

待完善

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值