博客
关于我
『中级篇』k8s基础网络Cluster Network(66)
阅读量:336 次
发布时间:2019-03-04

本文共 1213 字,大约阅读时间需要 4 分钟。

原创文章,欢迎转载。转载请注明:转载自,谢谢!

原文链接地址:

通过国人大神的一键安装k8s集群安装了3个master节点和3个node节点的虚机,现在咱们的演示直接在开发机上运行就可以了dev机器。这次主要说说k8s相关的网络和网络相关的概念,service!源码:

准备工作 创建2个pod

进入dev虚机上

cd ~cd deployk8s-master/cd pod-basic/kubectl create -f pod_nginx.ymlkubectl create -f pod_tomcat.yml

进入node节点

  • 21,22,23 分别ping下pod的节点看能否ping通

ping nginx 都是可以ping通的

ping tomcat 都是可以ping通的

说明pod节点直接都是互相通信的

进入这3个node节点发现

他们都使用了Flannel的网络

详细看看官网怎么说

  • all containers can communicate with all other containers without NAT
    所有的容器和其他所有的容器之间可以直接通信,不需要经过NAT的转化
  • all nodes can communicate with all containers (and vice-versa) without NAT
    所有的节点可以直接访问其他节点的容器。
  • the IP that a container sees itself as is the same IP that others see it as
    容器自己的ip是什么别人直接访问他的时候就可以用这个ip地址。

k8s开源社区的插件太多了,支持插件的的,很早以前docker是不支持网络插件的,k8s的网络插件可以更方便的打通容器和节点。

flannel主要提供了跨主机间的容器通信;

  1. 在kubernetes的Pod、Service模型里,kube-proxy又借助iptables实现了Pod和Service间通信。
  2. 基于这种网络访问功能,我们平台提供了以下功能:
  3. 基于gorouter提供的平台域名的访问 – watch k8s endpoints event管理router信息;
    4 .基于skydns并定制化kube2sky组件和kubelet,提供同一命名空间下应用(Pod)之间基于业务域名的访问 – kube2sky基于k8s Service annotation解析并注册域名信息、kubelet设置容器启动时的domain search及外部dns;
  4. 实现容器tty访问控制台 – 每台k8s node部署平台组件 tty agent(根据Pod所属node信息, 建立对应k8s结点的tty连接);

PS:基础网络方便的通信使用k8s提供的满足它要求的插件。下节我们一起坐下如何让pod可以外部来访问。

你可能感兴趣的文章
TCP/IP网络编程之域名及网络地址
查看>>
Redis实现之对象(三)
查看>>
NodeJS+Express+MongoDB
查看>>
(四十四)c#Winform自定义控件-水波-HZHControls
查看>>
c#winform主题实现的一个方法
查看>>
asp.net打印网页后自动关闭网页【无需插件】
查看>>
推荐5个漂亮的网站html源码
查看>>
一个人开发的html整站源码分享网站就这么上线了
查看>>
SQLServer 查看耗时较多的SQL语句(转)
查看>>
【Spring注解驱动开发】组件注册-@ComponentScan-自动扫描组件&指定扫描规则
查看>>
【Mycat】Mycat核心开发者带你看尽Mycat三大核心配置文件
查看>>
元旦在家撸了两天Seata源码,你们是咋度过的呢?
查看>>
高并发场景下如何优化服务器的性能?
查看>>
数据结构与算法系列之目录
查看>>
【计算机网络】应用层
查看>>
【Markdown】公式指导手册
查看>>
【Maven】POM基本概念
查看>>
【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
查看>>
【设计模式】单例模式
查看>>
【SpringCloud】Hystrix熔断器
查看>>