『中级篇』k8s基础网络Cluster Network(66)

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『中级篇』k8s基础网络Cluster Network(66)

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

准备工作 创建2个pod

进入dev虚机上

 cd ~
cd deployk8s-master/
cd pod-basic/
kubectl create -f pod_nginx.yml
kubectl create -f pod_tomcat.yml
『中级篇』k8s基础网络Cluster Network(66)_第1张图片
『中级篇』k8s基础网络Cluster Network(66)_第2张图片
『中级篇』k8s基础网络Cluster Network(66)_第3张图片

进入node节点

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

ping nginx 都是可以ping通的

『中级篇』k8s基础网络Cluster Network(66)_第4张图片

ping tomcat 都是可以ping通的

『中级篇』k8s基础网络Cluster Network(66)_第5张图片

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

进入这3个node节点发现

他们都使用了Flannel的网络

『中级篇』k8s基础网络Cluster Network(66)_第6张图片
『中级篇』k8s基础网络Cluster Network(66)_第7张图片
『中级篇』k8s基础网络Cluster Network(66)_第8张图片

详细看看官网怎么说

https://kubernetes.io/docs/concepts/cluster-administration/networking/

  • 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可以外部来访问。


往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
  12. docker架构和底层技术(12)
  13. docker Image概述(13)
  14. 手动建立一个base Image(14)
  15. 什么是Container(15)
  16. 构建自己的Docker镜像(16)
  17. Dockerfile详解(17)
  18. 镜像的发布(18)
  19. Dockerfile实战(19)
  20. 容器的操作(20)
  21. Dockerfile实战CMD和ENTRTYPOINT的配合(21)
  22. 容器的资源限制(22)
  23. docker网络(23)
  24. docker学习必会网络基础(24)
  25. Linux网络命名空间(25)
  26. Docker Bridge详解(26)
  27. 容器之间的Link(27)
  28. 容器的端口映射(28)
  29. 容器网络之host和none(29)
  30. 多容器复杂应用的部署(30)
  31. overlay网络和etcd实现多机的容器通信(31)
  32. docker的数据持久化存储和数据共享(32)
  33. windows下vagrant 通过SecureCRT连接centos7(33)
  34. 数据持久化之Data Volume(34)
  35. 数据持久化之bind Mounting(35)
  36. docker 使用bind Mounting实战(36)
  37. docker容器安装wordpress(37)
  38. docker Compose到底是什么(38)
  39. Docker Compose的安装和基本使用(39)
  40. Docker 水平扩展和负载均衡(40)
  41. Docker compose 部署一个复杂的应用(41)
  42. 容器编排Docker Swarm介绍(42)
  43. docker-swarm创建一个多节点集群(43)
  44. play with docker 的使用(44)
  45. docker-swarm中的Service创建维护和水平扩展(45)
  46. 在docker-swarm集群里通过serivce部署wordpress(46)
  47. 集群服务间通信之RoutingMesh(47)
  48. RoutingMesh之Ingress负载均衡(48)
  49. Docker-Stack部署wordpress(49)
  50. Docker-Stack部署投票应用(50)
  51. Docker-Secret管理和使用(51)
  52. Docker service更新(52)
  53. Docker的收费模式(53)
  54. Docker-cloud介绍(54)
  55. Docker Cloud自动构建 Docker image(55)
  56. Docker企业版的在线免费体验(56)
  57. docker企业版本地安装之UCP(57)
  58. docker体验阿里云的容器服务(58)
  59. 阿里云安装Docker企业版UCP和DTR(59)
  60. Kubenetes简介(60)
  61. Minikube快速搭建K8S单节点环境(61)
  62. K8S最小调度单位Pod(62)
  63. K8S横向扩展功能ReplicaSet和ReplicationController(63)
  64. k8s重要的Deployment(64)
  65. Vagrant在本地搭建多节点K8S集群(65)

你可能感兴趣的:(『中级篇』k8s基础网络Cluster Network(66))