我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:满堂彩 > 后方部署 >

如何在Kubernetes中暴露服务访问

归档日期:09-10       文本归类:后方部署      文章编辑:爱尚语录

  最近的一年,kubernetes的发展如此闪耀,正被越来越多的公司采纳用于生产环境的实践。同时,我们可以在最著名的开发者问答社区StackOverflow上看到k8s的问题数量的增长曲线),开发者是用脚投票的,从这一点看也无疑证明了k8s的火爆程度。

  k8s来源于Google生产环境的实践,社区活跃度很高,在github上的Star数17k+,30k+commits,同时由Google主导CNCF基金会也在强力运作k8s的社区发展,也就在几个月前OpenStack社区宣布全面拥抱k8s,这也宣布了全球第大的开源IAAS云社区已经选择k8s作为容器的唯一解决方案。

  谈到k8s,无论怎样的议题怎样的开始,我们都先介绍一个k8s整体架构(如下图所示):

  etcd 作为配置中心和存储服务,保存了所有组件的定义以及状态,k8s的多个组件之间的互相交互也主要通过etcd;

  kube-apiserver 提供和外部交互的接口,提供安全机制,大多数接口都是直接读写etcd中的数据;

  kube-scheduler 调度器,主要干一件事情,监听etcd中的pod目录变更,然后通过调度算法分配node,最后调用apiserver的bind接口将分配的node和pod进行关联;

  本文分享的内容主要是在minion节点上的pod和service上,pod是k8s应用的具体实例抽象,而service便是这些抽象的集合。

  回到本文的主题,在k8s中暴露Service访问(无论内部还是外部),都要经过kube-proxy,比如下图中我们定义一个Service,便可以通过访问Service的80端口转发到Pod的9376端口上。

  但是在实际使用中,pod可能会产生漂移,由于Ingress Controller也是基于Pod部署,这样Ingress对外的IP会发生变化。在企业内部都会在防火墙上给Service的访问IP设定规则,而IP变动对这一机制是致命的,因为企业不可能经常手动修改防火墙规则。

本文链接:http://meimeisyo.com/houfangbushu/432.html