摘要:场景1:add->add->get->get package main import ( "fmt" "k8s.io/client-go/util/workqueue" ) func main() { queue := workqueue.NewRateLimitingQueue(workqueue
阅读全文
摘要:package main import "fmt" type Stu struct { age int } func main() { var stuInterface interface{} = &Stu{ age: 10, } if stu, ok := stuInterface.(*Stu);
阅读全文
摘要:查询当前db大小 curl 127.0.0.1:2381/metrics | grep etcd_debugging_mvcc_db_total_size_in_bytes snap和wal区别Etcd保存的数据放在/var/lib/etcd/member目录中,分为snap快照和wal预写式日志。
阅读全文
摘要:logrotate配置文件一般存放在/etc/logrotate.d。 场景1:不存在/var/lib/logrotate/status文件 说明没有真正执行过logrotate。/var/lib/logrotate/status会记录上一次logrotate时间,记录的时间可能没有真正执行过。 场
阅读全文
摘要:kube-ovn v1.10.10 pkg\daemon\controller.goovn-cni每小时通过logrotate命令来转储kube-ovn所有相关日志。 pkg\daemon\controller_linux.go logrotate配置在构建容器镜像时拷贝进去。
阅读全文
摘要:ovs流表分模糊流表(慢路径)和精确流表(快路径),精确流表数量远少于模糊流表。模糊流表在ovs网桥上,精确流表在ovs datapath上,精确流表由模糊流表自动生成和老化。其中,ovs datapath代码在内核中,ovs_vport_receive函数用于接收报文并处理,ovs_vport_s
阅读全文
摘要:ubuntu 23.10安装虚拟机之后,磁盘分区没有用完,根目录只占了10G。 # lvm逻辑卷使用分区100%空间 lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # df -h重新计算结果 resize2fs /dev/mapper
阅读全文
摘要:xdp tc 层次 网卡驱动层 数据链路层 位置 进入Linux网络协议栈之前 在Linux网络协议栈中,netfilter之前 方向 只有ingress 有ingress和egress 修改 支持修改报文 支持修改报文,有skb结构,修改更方便 网卡响应关系 网卡响应在xdp之后 网卡响应在tc之
阅读全文
摘要:struct __sk_buff { __u32 len; __u32 pkt_type; __u32 mark; __u32 queue_mapping; __u32 protocol; __u32 vlan_present; __u32 vlan_tci; __u32 vlan_proto; _
阅读全文
摘要:虽然eBPF内核态部分使用C语言编写,但是无法gdb,只能通过打印来调试。调用类似于C语言中printf函数的bpf_printk函数,打印结果输出到/sys/kernel/debug/tracing/trace。 bpf_printk最多带3个参数,bpf_trace_printk也是如此。 查看
阅读全文
摘要:ubuntu 23.10 安装eBPF依赖 # 安装编译工具 apt install -y llvm clang # 确认内核具有BTF支持,路径存在,内核没有BTF支持,使用vmlinux.h无法通过编译 ls /sys/kernel/btf # 生成vmlinux.h # apt install
阅读全文
摘要:方式1:使用commit id go get k8s.io/client-go@1518fca9f06c6a73fc091535b8966c71704e657b 方式2:使用分支 go get k8s.io/client-go@master 使用分支也是commit id。 方式3:go.mod中写
阅读全文
摘要:k8s v1.19.0 强删Pod产生Update事件 informerFactory.Core().V1().Pods().Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ UpdateFunc: func(old, new i
阅读全文
摘要:package main import "fmt" type student struct { name string age int } func (s student) String() string { return fmt.Sprintf("{name is %s, age is %d}",
阅读全文
摘要:ovn-org/ovn branch-23.06 kube-ovn里面ovn-central的ovn-northd会给logical switch和logical router分配vni,集群内全局唯一,即每个lr和ls都有自己的vni。 northd/northd.covn_datapath_al
阅读全文
摘要:informerFactory创建informer informer一般由informerFactory创建(支持直接创建informer,一般不这么做),informerFactory支持创建多种资源类型的informer,同一个informerFactory中同一种资源类型只创建一个inform
阅读全文
摘要:$ uptime07:44:43 up 1:20, 1 user, load average: 0.47, 0.56, 0.56 07:44:43表示当前时间。up 1:20表示系统运行时间。1 users表示正在登录用户数。0.47, 0.56, 0.56表示过去 1 分钟、5 分钟、15 分钟的
阅读全文
摘要:ssh隧道类似于vxlan隧道,ssh隧道是基于ssh协议来实现的。 node1操作 777端口是节点ssh的新增端口如果22端口正常,那么不需要新增777端口。 vim /etc/ssh/sshd_config # SELinux开放给ssh使用的端口增加777 semanage port -a
阅读全文
摘要:本地盘和云磁盘区别 本地盘不支持跨物理机迁移,云磁盘支持跨物理机迁移。 本地目录生命周期 emptyDir、downwardAPI、configMap、secret:kubelet创建本地目录,该目录会随着Pod的消亡而删除。hostPath:本地目录一直存在。 PVC、PV和StorageClas
阅读全文
摘要:使用left join时,左表字段值必须有,右表字段值可以没有。where加右表字段,匹配非空值时,右表字段不能是NULL,必须有具体值。
阅读全文
摘要:设置MySQL单用户远程最大连接数是3 set GLOBAL max_user_connections=3; 查看连接数限制 show variables like '%connections'; 其中,max_connections控制远程连接数和本地连接数总和上限。 尝试继续创建远程连接失败 情
阅读全文
摘要:问题现象 CREATE DATABASE test CHARACTER SET utf8; USE test; CREATE TABLE user ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name varchar(500), sex tinyint
阅读全文
摘要:问题现象 select * from x where a = 1 or b = 2 and c = 3执行结果不符合预期。 问题分析 and优先级高于or,相当于select * from x where a = 1 or (b = 2 and c = 3)。 解决问题 改成select * fro
阅读全文
摘要:问题现象 字段类型是tinyint(1),数据库中值是100,但是从数据库中返回的值是Java Boolean true,即整型数据在MySQL中返回结果是true。 问题分析 tinyint占用1个字节,范围是-128~127,代表bool值时,0表示False,非0表示True。如果存储真实值,
阅读全文
摘要:相同点 vxlan和geneve都走udp。报文头vni都占用24位。 不同点 vxlan头固定长度8个字节。 geneve头由固定长度8个字节和Variable Length Options可变长的0-252个字节组成。相比于vxlan,有了可变长字节之后,geneve可扩展性更强。 kube-o
阅读全文
摘要:使用kubeconfig优先级顺序 1. --kubeconfig参数2. $KUBECONFIG环境变量3. ${HOME}/.kube/config文件 查看kubeconfig内容 kubectl config view --raw 合并多个kubeconfig mv ~/.kube/conf
阅读全文
摘要:开关 查看是否开启gsoethtool -k ens33 | grep generic-segmentation-offload 查看是否开启groethtool -k ens33 | grep generic-receive-offload 作用 mss含义是,最大分段大小,即tcp data字节
阅读全文
摘要:set user "root" set password "root" set host "192.168.0.112" set timeout 10 spawn scp a $user@$host:/root expect { "*(yes/no)?" { send "yes\r" exp_con
阅读全文
摘要:set user "root" set password "root" set host "192.168.0.112" set timeout 10 spawn ssh $user@$host expect { "*(yes/no)?" { send "yes\r" exp_continue }
阅读全文
摘要:字段 ip头dscp字段,一般值是0,占用6位bit,表示服务质量。dscp+cu构成tos服务类型。 参考资料 https://www.rfc-editor.org/rfc/rfc2474
阅读全文