-
TCP队列溢出-全连接
全连接队列 0.半连接全连接队列示意 1.对于 LISTEN 状态的 socket (ss -lnt) Recv-Q:当前全连接队列的占用大小,即已完成三次握手等待应用程序 accept() 的 TCP 链接 Send-Q:全连接队列的最大长度,即全连接队列的大小 2.对于非 LISTEN 状态的 socket (ss -nt) Recv-Q:已收到但未被应用程序读取的字节数 Send-Q:已发送但未收到确认的字节数 3.说明 (1)当Recv-Q ≤ Send-Q 正常工作,当Recv-Q > Send-Q 时数据包被DROP或者回复RST。 (2)可以通过设置/proc/sys/net/ipv4/tcp_abort_on_overfl... Read More
-
Go面向对象
interface接口的定义 1.interface 是一组方法声明的集合。 2.任何类型的对象实现了在interface 接口中声明的全部方法,则表明该类型实现了该接口。 3.interface 可以作为一种数据类型,实现了该接口的任何对象都可以给对应的接口类型变量赋值。 4.interface 可以被任意对象实现,一个类型/对象也可以实现多个 interface。 5.接口中不能存在任何变量。 6.一个接口(比如A接口)可以继承多个接口,这时如果要实现A接口,也必须将B,C接口的方法也全部实现。 package main import "fmt" type Phone interface { call() } type NokiaPho... Read More
-
重点关注
技术 分类 列表 近期重点 Kubernetes进阶 基础组网原理(单机跨NS组网/跨主机组网) Kubernetes进阶 控制(Cgroup)和隔离 (NameSpace) Kubernetes进阶 Vxlan的原理和应用 Kubernetes进阶 Low Level容器运行时 Kubernetes进阶 HPA和基于自定义指标触发 ... Read More
-
runC运行容器
一、RunC是什么 RunC 是一个轻量级的工具,它是用来运行容器的,只用来做这一件事,是一种运行容器的运行时,它负责利用符合标准的文件等资源运行容器,但是它不包含 docker 那样的镜像管理功能。所以要用 runC 运行容器,我们先得准备好容器的文件系统。所谓的 OCI bundle 就是 rootfs文件系统 + config.json 文件。有了容器的文件系统后我们可以通过 runc spec 命令来生成 config.json 文件。 几张图理解下runc的位置 K8S运行生态 kubelet和container管理关系 各种level的容器运行时 二、RunC安装 # yum -y install libseccomp libseccomp-dev gcc... Read More
-
VXLAN的原理及实验
VXLAN介绍 简介 VLAN作为传统的网络隔离技术,在标准定义中VLAN的数量只有4000个左右,无法满足大型数据中心的租户间隔离需求。另外,VLAN的二层范围一般较小且固定,无法支持虚拟机大范围的动态迁移。 VXLAN完美地弥补了VLAN的上述不足,一方面通过VXLAN中的24比特VNI字段,提供多达16M租户的标识能力,远大于VLAN的4000;另一方面,VXLAN本质上在两台交换机之间构建了一条穿越数据中心基础IP网络的虚拟隧道,将数据中心网络虚拟成一个巨型“二层交换机”,满足虚拟机大范围动态迁移的需求。 虽然从名字上看,VXLAN是VLAN的一种扩展协议,但VXLAN构建虚拟隧道的本领已经与VLAN迥然不同了。 下面就让我们来看下,VXLAN报文到底长啥样。 如... Read More
-
K8S网络模型
K8S网络通信细节 一、网络必要基础知识 IP地址标准计算法 计算IP 192.168.20.125/27 IP/子网掩码长度 192.168.20.125 第一步 拆解IP地址 11000000 10101000 00010100 01111101 第二步 根据子网掩码长度 将拆解的ip分段 11000000 10101000 00010100 011/11101 网络位 /主机位 第三步 直接计算IP地址 网段地址:网络位不变 主机位全为0 11000000 10101000 00010100 011/00000 192.168.20.96 广播地址:网络位不变 主机位全... Read More
-
跨主机组网Flannel
跨主机组网 规划 IP 节点作用 Namespace 10.168.0.94 ETCD01(3.5.2) / Flannel(v0.17.0) namespace94-01 namespace94-02 10.168.0.95 ETCD02(3.5.2) / Flannel(v0.17.0) namespace95-01 namespace95-02 10.168.0.96 ETCD03(3.5.2) / Flannel(v0.17.0) namesp... Read More
-
基于NameSpace的组网模型
组网模型 两个Namspace组网 两个NS的组网很简单,一对虚拟网卡,一端放置在一个NS中,简单配置即可通信 1、增加一对虚拟网卡 # ip link add type veth 执行1次出现 veth0@veth1和veth1@veth0 一对虚拟网卡 # ip link add type veth 执行2次出现 veth2@veth3和veth3@veth2 第二对虚拟网卡, 如果不命名,都是自动编号 也可以给虚拟网卡指定具体的名字,如使用 ip link add veth001 type veth peer name veth002 命令 以上命令执行后,在宿主机使用ip add命令查看时发现虚拟网卡对是落在宿主机当前的NS中的 2、增加两个NS # ... Read More
-
常用(mariadb/MongoDB/Redis)StorageClass部署
1.NFS部署 1.安装服务 # yum install nfs-utils rpcbind 2.创建数据目录 # mkdir -p /data1/nfsdata 3.在/etc/exports添加以下内容 /data1/nfsdata 10.168.0.0/24(rw,sync,no_root_squash) 4.启动服务 # service nfs start 2.nfs-provisioner部署 2.1 安装nfs-client-provisioner # for file in class.yaml deployment.yaml rbac.yaml test-claim.yaml ; do wget https://raw.githubuserconte... Read More
