k8s的网络学习】的更多相关文章

1.Kubernetes 网络模型 Kubernetes 采用的是基于扁平地址空间的网络模型,集群中的每个 Pod 都有自己的 IP 地址,Pod 之间不需要配置 NAT 就能直接通信.另外,同一个 Pod 中的容器共享 Pod 的 IP,能够通过 localhost 通信. 这种网络模型对应用开发者和管理员相当友好,应用可以非常方便地从传统网络迁移到 Kubernetes.每个 Pod 可被看作是一个个独立的系统,而 Pod 中的容器则可被看做同一系统中的不同进程. 下面讨论在这个网络模型下集…
ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器,可以浏览网页,打开文档  html/htm  pdf   docx  txt等格式的文件.  safari浏览器就是通过UIWebView做的. 服务器将MIME的标识符等放入传送的数据中告诉浏览器使用那种插件读取相关文件. uiwebview加载各种本地文件(通过loadData方法): - (v…
ios网络学习------6 json格式数据的请求处理 分类: IOS2014-06-30 20:33 471人阅读 评论(3) 收藏 举报 #import "MainViewController.h" #import "Video.h" #define kBaseURL @"http://192.168.3.252/~apple" @interface MainViewController ()<UITableViewDataSourc…
2018.9.1 网络学习day01_计算机网络与分层思想 网络安全 计算机网络 分层思想    LAN与WAN   LAN(Local Area Network)--局域网   局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组.“某一区域”指的是同一办公室.同一建筑物.同一公司和同一学校等,一般是方圆几千米以内.局域网可以实现文件管理.应用软件共享.打印机共享.扫描仪共享.工作组内的日程安排.电子邮件和传真通信服务等功能.局域网是封闭型的…
学习 Neutron 系列文章: 转http://www.cnblogs.com/sammyliu/p/4622563.html (1)Neutron 所实现的网络虚拟化 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron Linux Bridge + VLAN/VXLAN 虚拟网络 (5)Linux bridge + VXLAN 详解 (6)Neutron OVS OpenF…
作者 | 阿里巴巴高级技术专家  叶磊 一.Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法.大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特别好的参考案例.Kubernetes 对一个容器网络是否合格做出了限制,也就是 Kubernetes 的容器网络模型.可以把它归结为约法三章和四大目标. 约法三章的意思是:在评价一个容器网络或者设计容器网络的时候,它的准入条件.它需要满足哪三条? 才能认为它是一个合格的网络方案.…
K8S的网络中主要存在4种类型的通信:   ①同一Pod内的容器间通信 ②各个Pod彼此间的通信 ③Pod和Service间的通信 ④集群外部流量和Service之间的通信   K8S为Pod和Service资源对象分别使用了各自的专有网络,Pod网络由K8S的网络插件配置实现,而Service网络则由K8S集群进行指定.   K8S使用的网络插件需要为每个Pod配置至少一个特定的地址,即Pod IP.Pod IP地址实际存在于某个网卡(可以是虚拟机设备)上.   而Service的地址却是一个…
个人笔记,观点不一定正确. 适合对 Kubernetes 有一定了解的同学. 前言 最近一直在学习 Kubernetes,但是手头没有个自有域名,要测试 ingress 就比较麻烦,每次都是手动改 hosts 文件.. 今天突然想到--K8s 内部就是用 DNS 做的服务发现,我为啥不自己弄一个 DNS 服务器呢?然后所有节点的 DNS 都配成它,这样有需要时直接改这个 DNS 服务器的配置就行, 一劳永逸. 我首先想到的是 群晖/Windows Server 自带的那种自带图形化界面的 DNS…
0.前言 参考文档:https://github.com/containernetworking/cni Pod网络插件,为了实现Pod网络而需要的插件.组件.由于Kubernetes通过开放的CNI接口来允许插件的接入,所以它又称之为CNI网络插件. 为了解决跨主机容器间通信问题,市面上存在很多解决方案,为了兼容和规范这些解决方案,Kubernetes仅设计了网络模型,却将Pod网络的实现交给了CNI网络插件,并允许网络插件通过标准的CNI(Container Network Interfac…
Bookmarks flannel/proxy.c at master · coreos/flannel kubernetes/kubernetes: Production-Grade Container Scheduling and Management Kubernetes - Production-Grade Container Orchestration Overview - Kubernetes Overview - Kubernetes Romana Open vSwitch OVS…
IP子网划分 首先,在进行子网划分的学习之前,我们先来回顾一下IP地址的相关知识,同时了解一下公有和私有IP地址: 在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为IP地址.Internet IP地址由NIC(Internet Network Information Center)统一负责全球地址的规划.管理:同时由Inter NIC.APNIC.RIPE三大网络信息中心具体负责美国及其它地区的IP地址分配. 在现在的网络中,IP地址分为公网IP地…
title: 2018.9.2 OSI七层模型及数据的传输过程 tags: 计算机网络, OSI七层模型, 数据传输, 数据解封装 --- OSI七层模型和TCP/IP五层模型 OSI七层模型 我们说的七层模型第七层都是应用层,第一层是最底下的物理层. 图中只有物理层之间的线条是实线的,可以将这条线理解为两台主机之间的网线,连接两机实现通讯 模型里的每一层都是独立的,两台主机之间通信,对应的层使用的协议相同. 应用层可以理解为最接近使用者的一层,我们可以直接使用,例如QQ.微信等软件,当我们用此…
目录 为什么要使用GitHub 下载Github Desktop fork 与 pull request git pull,fetch,merge,push的区别与联系 git clone 与 download 区别 当源仓库更新时,让自己fork的仓库复制这些更新 1.为什么要使用GitHub 作为"全球最大同性交友网站",全世界最大的代码集中地,最大的代码托管平台,GitHub的存在必然有它存在的意义. 私以为,GitHub能为我们干这么一些事情: 寻找学习资源,比如下载各种文档.…
整理的可能有些误失,抽时间在细细的分类完善下. 发现这篇对于网络从低到高层协议整理的还不错 每层都有一些有意思的话题 一些协议有一些设计上的弱点, 所以产生了种种的网络层安全问题 一般我们学一些 1,以太网2的数据格式 2,ip 数据格式 3,tcp/udp数据格式 .玩明白这些后,会晚一些有用 网络里有意思的大概有这些. 二层的广播,arp(代理arp,免费arp) ip层的ping的ttl(多窗口ping回包问题(win给所有包统一编号/unix每个窗口进程号)), mtu分片 基于ip的i…
资源 从整体来看,Kubernetes集群是由很多由JSON或者YAML定义的‘资源’组成,我个人比较推崇使用YAML写配置,因为它读写都很容易,同时还支持注释. 在Kubernetes中启动一个应用需要了解的几个基本‘资源’类型,如:Pod.Deployment(复制控制器).Service与Namespace. 1. Deployment是Kubernetes集群的管理引擎,它负责管理集群中的Pod启停,如:负责配置一个集群中一共需要跑多少个Pod,Pod运行的内容,以及根据部署方案或者No…
虚拟机部署k8s 1. 创建虚拟机 虚拟机用的是virtualBox和vagrant工具,百度安装virtualBox和vagrant 创建vagrant目录并创建文件Vagrantfile内容为 Vagrant.configure("2") do |config| config.vm.box = "ubuntu/bionic64" config.vm.box_check_update = false config.vm.provider "virtual…
VIP PaaS在接近两年时间里,基于kubernetes主要经历四次网络方案的变迁: 1. kubernetes + flannel 2. 基于Docker libnetwork的网络定制 3. kubernetes + contiv + kube-haproxy 4. 应用容器IP固定 先简单说一下背景,PaaS平台的应用管理包括应用配置管理,应用的运行态管理.一个应用的运行态对应kubernetes的一个Replication Controller(后面使用RC简称)和一个Service,…
目录 1 典型的数据传输流程图 2 3种ip说明 3 Docker0网桥和flannel网络方案 4 Service和DNS 4.1 service 4.2 DNS 5 外部访问集群 5.1 外部访问service 5.2 ingress 附 扩展实战 附A 用service实现DB的管理 附B 用NetworkPolicy实现访问权限隔离 附C 用secret对象管理账户密码 1 典型的数据传输流程图 • 一个外部的business-manager请求,首先进入集群的入口(ingress),i…
安装Docker 参考:https://www.cnblogs.com/rdchenxi/p/10381631.html 加速器配置 参考:https://www.cnblogs.com/rdchenxi/p/10399885.html 网络介绍k8s(CNI网络模型) Flannel网络 overlay 覆盖网络就是应用层网络,它是面向应用层的,不考虑或很少考虑网络层,物理层的问题. 详细说来,覆盖网络是指建立在另一个网络上的网络.该网络中的结点可以看作通过虚拟或逻辑链路而连接起来的.虽然在底…
上次我们学习怎样从网络上获取一张图片,今天我们学习怎样从网络上获取文本文件.以XML文件为样例. 由于XML文件在实际开发中最为常见. 我们以以下图片为样例学习怎样从网络上获取XML文件 我们的xml文件为: <? xml version="1.0" encoding="UTF-8" ?> <newslist> <news> <title>9月起办理手机卡需实名认证</title> <detail&g…
#import "ViewController.h" #import "AFNetworking.h" @interface ViewController () @end @implementation ViewController -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [self post]; } -(void)get { //1.创建会…
  HTTP缓存是一种保存资源副本并在下次请求时直接使用该副本的技术,合理的使用缓存可以有效的提升web性能.   浏览器将js文件.css文件.图片等资源缓存,当下次请求这些资源时,可以不发送网络请求直接从缓存中取出,称为缓存命中:或者发送网络请求验证缓存而不是重新接收该资源,称为再验证命中.这两种情况都能够减少冗余数据传输.降低对服务器的要求.提高web性能.在缓存中没有找到副本,直接发送请求给服务器称为缓存未命中.   缓存空间有限,不可能将全部资源全部缓存,因此选择请求频率高的资源进行缓…
1.k8s网络通信 a.容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现; b.pod之间的通信:pod ip <---> pod ip,pod和pod之间不经过任何转换即可通信; c.pod和service通信:pod ip <----> cluster ip(即service ip)<---->pod ip,它们通过iptables或ipvs实现通信,ipvs取代不了iptables,因为ipvs只能做负载均衡,而做不了nat转换; d.Service…
如下图,三台虚拟机k8s-master.k8s-node-1.k8s-node-2组成k8s集群,网络拓扑和节点IP分配如下图: 一.flannel组网方案 https://github.com/coreos/flannel 在flannel方案中,每台服务器被当作一个VXLAN的VTEP设备,ETCD根据每个docker网桥分配一个网段,集群中的所有容器通过UDP封装形成VXLAN的大二层,所有Pod之间都可以IP可达,发布业务可以通过SVC或者ingress的方式. 部署步骤如下: Step…
跨节点通讯,需要通过NAT,即需要做源地址转换. k8s网络通信: 1) 容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现: 2) pod之间的通信,pod ip <---> pod ip,pod和pod之间要不经过任何转换即可通信: 3) pod和service通信:pod ip <----> cluster ip(即service ip)<---->pod ip,他们通过iptables或ipvs实现通信,另外大家要注意ipvs取代不了iptables…
1. 写在前面 这里总结的并不够详细,有时间了再进行补充. 2. 设计思路 HTTP协议是建立在TCP上的1. 建立服务器端TCP套接字(绑定ip,port),等待监听连接:listen(2. 打开浏览器(client)访问这个(ip,port),服务器端接收连接:accept)3. 获取浏览器的请求内容:data = recv(1024)# 由于浏览器发送的request是HTTP格式的,需要解码4. 将接收的报文节解码:decode# 解析解码后的数据5. 根据行分切数据6. 解析首部行(h…
参考资料: 1.https://github.com/dragen1860/TensorFlow-2.x-Tutorials 2.<Adversarial Feature Learning> 本次是对阅读BiGAN论文的一个记录,包含我自己对于BiGAN的一些理解 因为BiGAN在代码实现上没有很大的不同,甚至类似经典GAN(详见:https://www.cnblogs.com/DAYceng/p/16365562.html),所以这里不做介绍 参考1中有源码 依然是免责声明:水平有限,有错误…
卸载flannel 查看已安装的flannel的信息 # 查看CNI插件,可以得知使用的是flannel # cat /etc/cni/net.d/10-flannel.conflist { "name": "cbr0", "cniVersion": "0.3.1", "plugins": [ { "type": "flannel", "delegate&q…
ipv4报文处理流程 1.物理层网卡收到报文,产生中断进入中断处理程序:net_interrupt,判断中断是由接收到分组引发后,控制权转移到net_rx: 2.net_rx函数分配一个新的sk_buf,从网卡取出分组内容到内存: 3.netif_rx负责将接收到的分组放置到一个特定于cpu的等待队列上,标记软中断:NET_RX_SOFTIRQ,并退出中断上下文: 4.net_rx_action从等待队列取出一个套接字缓冲区(分组),分析分组的类型,以便根据分组类型将分组传递给网络层的接收函数,…
目前,在iOS的开发中,NURLConnection已经成为了过去式,现在的NSURLConnection已经deprected(iOS7之后),取而代之的是NSURLSession.而且AFNetworking 也已经换成了NSURLSession.既然是大势所趋,现总结NSURLSession用法如下: 首先,是根据简单地按钮实现对应的网络操作: 1.NSURLSessiion 的GET网络请求: 要实现网络请求,首先,要准备好URLl 和 必要的参数,而GET最大的特点就是参数是直接的拼接…