原創(chuàng)文章彻磁,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自IT人故事會(huì)惦费,謝謝兵迅!
原文鏈接地址:『中級(jí)篇』k8s基礎(chǔ)網(wǎng)絡(luò)Cluster Network(66)
通過(guò)國(guó)人大神的一鍵安裝k8s集群安裝了3個(gè)master節(jié)點(diǎn)和3個(gè)node節(jié)點(diǎn)的虛機(jī),現(xiàn)在咱們的演示直接在開發(fā)機(jī)上運(yùn)行就可以了dev機(jī)器薪贫。這次主要說(shuō)說(shuō)k8s相關(guān)的網(wǎng)絡(luò)和網(wǎng)絡(luò)相關(guān)的概念恍箭,service!源碼:https://github.com/limingios/docker/tree/master/No.10
準(zhǔn)備工作 創(chuàng)建2個(gè)pod
進(jìn)入dev虛機(jī)上
cd ~
cd deployk8s-master/
cd pod-basic/
kubectl create -f pod_nginx.yml
kubectl create -f pod_tomcat.yml
進(jìn)入node節(jié)點(diǎn)
- 21瞧省,22扯夭,23 分別ping下pod的節(jié)點(diǎn)看能否ping通
ping nginx 都是可以ping通的
ping tomcat 都是可以ping通的
說(shuō)明pod節(jié)點(diǎn)直接都是互相通信的
進(jìn)入這3個(gè)node節(jié)點(diǎn)發(fā)現(xiàn)
他們都使用了Flannel的網(wǎng)絡(luò)
詳細(xì)看看官網(wǎng)怎么說(shuō)
https://kubernetes.io/docs/concepts/cluster-administration/networking/
- all containers can communicate with all other containers without NAT
所有的容器和其他所有的容器之間可以直接通信,不需要經(jīng)過(guò)NAT的轉(zhuǎn)化 - all nodes can communicate with all containers (and vice-versa) without NAT
所有的節(jié)點(diǎn)可以直接訪問(wèn)其他節(jié)點(diǎn)的容器鞍匾。 - the IP that a container sees itself as is the same IP that others see it as
容器自己的ip是什么別人直接訪問(wèn)他的時(shí)候就可以用這個(gè)ip地址交洗。
k8s開源社區(qū)的插件太多了,支持插件的的橡淑,很早以前docker是不支持網(wǎng)絡(luò)插件的构拳,k8s的網(wǎng)絡(luò)插件可以更方便的打通容器和節(jié)點(diǎn)。
flannel主要提供了跨主機(jī)間的容器通信;
- 在kubernetes的Pod梁棠、Service模型里置森,kube-proxy又借助iptables實(shí)現(xiàn)了Pod和Service間通信。
- 基于這種網(wǎng)絡(luò)訪問(wèn)功能符糊,我們平臺(tái)提供了以下功能:
- 基于gorouter提供的平臺(tái)域名的訪問(wèn) – watch k8s endpoints event管理router信息;
4 .基于skydns并定制化kube2sky組件和kubelet凫海,提供同一命名空間下應(yīng)用(Pod)之間基于業(yè)務(wù)域名的訪問(wèn) – kube2sky基于k8s Service annotation解析并注冊(cè)域名信息、kubelet設(shè)置容器啟動(dòng)時(shí)的domain search及外部dns; - 實(shí)現(xiàn)容器tty訪問(wèn)控制臺(tái) – 每臺(tái)k8s node部署平臺(tái)組件 tty agent(根據(jù)Pod所屬node信息, 建立對(duì)應(yīng)k8s結(jié)點(diǎn)的tty連接);
PS:基礎(chǔ)網(wǎng)絡(luò)方便的通信使用k8s提供的滿足它要求的插件男娄。下節(jié)我們一起坐下如何讓pod可以外部來(lái)訪問(wèn)行贪。
往期精彩
- docker導(dǎo)學(xué)(一)
- 容器的技術(shù)概述(二)
- docker的魅力初體驗(yàn)-5分鐘安裝wordpress不走彎路(三)
- docker官網(wǎng)介紹(四)
- 如何在mac上安裝docker(五)
- 如何在window上安裝docker(六)
- 如何在mac上通過(guò)vagrant安裝虛擬機(jī)(七)
- 如何在window上通過(guò)vagrant安裝虛擬機(jī)(八)
- docker-Machine的本地使用(九)
- docker-Machine的本地使用(十)
- 在linux/mac下通過(guò)Docker-Machine在阿里云上的使用(11)
- docker架構(gòu)和底層技術(shù)(12)
- docker Image概述(13)
- 手動(dòng)建立一個(gè)base Image(14)
- 什么是Container(15)
- 構(gòu)建自己的Docker鏡像(16)
- Dockerfile詳解(17)
- 鏡像的發(fā)布(18)
- Dockerfile實(shí)戰(zhàn)(19)
- 容器的操作(20)
- Dockerfile實(shí)戰(zhàn)CMD和ENTRTYPOINT的配合(21)
- 容器的資源限制(22)
- docker網(wǎng)絡(luò)(23)
- docker學(xué)習(xí)必會(huì)網(wǎng)絡(luò)基礎(chǔ)(24)
- Linux網(wǎng)絡(luò)命名空間(25)
- Docker Bridge詳解(26)
- 容器之間的Link(27)
- 容器的端口映射(28)
- 容器網(wǎng)絡(luò)之host和none(29)
- 多容器復(fù)雜應(yīng)用的部署(30)
- overlay網(wǎng)絡(luò)和etcd實(shí)現(xiàn)多機(jī)的容器通信(31)
- docker的數(shù)據(jù)持久化存儲(chǔ)和數(shù)據(jù)共享(32)
- windows下vagrant 通過(guò)SecureCRT連接centos7(33)
- 數(shù)據(jù)持久化之Data Volume(34)
- 數(shù)據(jù)持久化之bind Mounting(35)
- docker 使用bind Mounting實(shí)戰(zhàn)(36)
- docker容器安裝wordpress(37)
- docker Compose到底是什么(38)
- Docker Compose的安裝和基本使用(39)
- Docker 水平擴(kuò)展和負(fù)載均衡(40)
- Docker compose 部署一個(gè)復(fù)雜的應(yīng)用(41)
- 容器編排Docker Swarm介紹(42)
- docker-swarm創(chuàng)建一個(gè)多節(jié)點(diǎn)集群(43)
- play with docker 的使用(44)
- docker-swarm中的Service創(chuàng)建維護(hù)和水平擴(kuò)展(45)
- 在docker-swarm集群里通過(guò)serivce部署wordpress(46)
- 集群服務(wù)間通信之RoutingMesh(47)
- RoutingMesh之Ingress負(fù)載均衡(48)
- Docker-Stack部署wordpress(49)
- Docker-Stack部署投票應(yīng)用(50)
- Docker-Secret管理和使用(51)
- Docker service更新(52)
- Docker的收費(fèi)模式(53)
- Docker-cloud介紹(54)
- Docker Cloud自動(dòng)構(gòu)建 Docker image(55)
- Docker企業(yè)版的在線免費(fèi)體驗(yàn)(56)
- docker企業(yè)版本地安裝之UCP(57)
- docker體驗(yàn)阿里云的容器服務(wù)(58)
- 阿里云安裝Docker企業(yè)版UCP和DTR(59)
- Kubenetes簡(jiǎn)介(60)
- Minikube快速搭建K8S單節(jié)點(diǎn)環(huán)境(61)
- K8S最小調(diào)度單位Pod(62)
- K8S橫向擴(kuò)展功能ReplicaSet和ReplicationController(63)
- k8s重要的Deployment(64)
- Vagrant在本地搭建多節(jié)點(diǎn)K8S集群(65)