11 2023 档案

C语言 主机字节序和网络字节序互换
摘要:#include <stdio.h> #include <arpa/inet.h> int main() { // 10.11.12.13 uint32_t host_ip = 168496141; uint32_t network_ip = htonl(168496141); // 13.12.1 阅读全文

posted @ 2023-11-29 21:18 王景迁 阅读(49) 评论(0) 推荐(0)

IDEA插件
摘要:MyBatisX Save Actions 热部署JRebel plugins里面搜索jrebel 激活jrebel 不要勾选 启用自动编译 不再显示指引 问题1:JRebel-JVMTI [FATAL] Couldn't write to C:\Users\win10把中文用户名改成英文 阅读全文

posted @ 2023-11-25 19:43 王景迁 阅读(30) 评论(0) 推荐(0)

kubelet监控资源组件cAdvisor
摘要:为什么kubelet引入cAdvisor 1 无法提供节点粒度资源数据。2 docker stats只能查看容器当前资源占用情况,无法查看历史数据。3 没有可视化页面。 部署cAdvisor容器并访问页面 docker run -itd \ --rm \ --volume=/:/rootfs:ro 阅读全文

posted @ 2023-11-25 12:05 王景迁 阅读(185) 评论(0) 推荐(0)

缩小docker镜像体积
摘要:方法1 使用更小的基础镜像 FROM centos:7 改成 FROM busybox:1.35.0 基础镜像从204MB减少到4.27MB。 方法2 减少镜像层数 RUN mv test test1 RUN chmod +x a.sh 改成 RUN mv test test1 && \ chmod 阅读全文

posted @ 2023-11-25 09:42 王景迁 阅读(68) 评论(0) 推荐(0)

kubelet热更新configmap
摘要:k8s v1.19.0 configmap热更新约束 支持热更新:目录方式挂载configmap。不支持热更新:subPath单个文件方式挂载configmap和configmap注入到环境变量。 configmap热更新逻辑 修改kube-system/configmap coredns后触发ku 阅读全文

posted @ 2023-11-24 09:18 王景迁 阅读(263) 评论(0) 推荐(0)

节点重启后初始化dpvs
摘要:# 加载大页内存 echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages mount -t hugetlbfs nodev /mnt/huge # 加载vfio驱动 modprobe vfi 阅读全文

posted @ 2023-11-23 22:03 王景迁 阅读(31) 评论(0) 推荐(0)

dpvs启动时coredump
摘要:问题现象 问题分析 # 根据core文件来打印堆栈信息 gdb -c lcore-worker-2.core.20196 /root/code/dpvs/bin/dpvs 解决问题 大页内存2G不足导致段错误,分配4G后正常。 阅读全文

posted @ 2023-11-23 22:00 王景迁 阅读(31) 评论(0) 推荐(0)

gobgp宣告bgp路由
摘要:wget https://github.com/osrg/gobgp/releases/download/v3.20.0/gobgp_3.20.0_linux_amd64.tar.gz # c1和c2容器启动gobgpd守护进程 # c1 # gobgpd.conf [global.config] 阅读全文

posted @ 2023-11-23 09:11 王景迁 阅读(474) 评论(0) 推荐(0)

docker容器中使用docker命令
摘要:方法1 挂载docker.sock和docker二进制 复用宿主机docker。docker run -itd -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker centos:7容器内可以执 阅读全文

posted @ 2023-11-23 08:33 王景迁 阅读(142) 评论(0) 推荐(0)

k8s 基于kubeconfig生成restclient.Config对象方法
摘要:k8s v1.19.0 方法1:基于文件路径 staging/src/k8s.io/client-go/tools/clientcmd/client_config.goBuildConfigFromFlags函数根据本地kubeconfig文件路径来生成restclient.Config对象。 st 阅读全文

posted @ 2023-11-21 08:58 王景迁 阅读(215) 评论(0) 推荐(0)

经过kube-proxy转发后获取client真实ip
摘要:--masquerade-all参数 true表示所有访问Service的数据包被SNAT。false(默认情况)表示源地址不属于Pod网段的数据包访问Service被SNAT。 转发场景分析 如果pod发送的响应包源地址不是client发送的请求包目的地址,那么直接丢弃。 client访问clus 阅读全文

posted @ 2023-11-19 17:41 王景迁 阅读(91) 评论(0) 推荐(0)

Pod走主机网络时端口会加在多张主机网卡IP上
摘要:k8s v1.19.0 虽然nginx pod ip是192.168.0.105,但是其他主机网卡ip上也有80端口。 阅读全文

posted @ 2023-11-16 08:59 王景迁 阅读(26) 评论(0) 推荐(0)

Pod走主机网络时kubelet选择纳管IP作为service后端IP
摘要:k8s v1.19.0 pkg/kubelet/kubelet_pods.gogenerateAPIPodStatus函数根据getHostIPAnyWay方法返回结果作为PodIP,该PodIP会成为service的后端IP。 pkg/kubelet/kubelet_getters.gogetHo 阅读全文

posted @ 2023-11-16 06:01 王景迁 阅读(43) 评论(0) 推荐(0)

kube-apiserver健康检查接口可跳过https证书认证
摘要:k8s v1.19.0 检查配置 livenessProbe、readinessProbe和startupProbe配置,这3个都是走https。 kubelet加跳过证书认证 kubelet在执行https探测时跳过证书认证,kube-apiserver正常https业务接口无法跳过证书认证。pk 阅读全文

posted @ 2023-11-13 21:52 王景迁 阅读(280) 评论(0) 推荐(0)

kube-controller-manager加分布式锁
摘要:k8s v1.19.0 kube-controller-manager加分布式锁lease,完成leader选举,与kube-scheduler相同。 holder是主机名+uuidcmd/kube-controller-manager/app/controllermanager.goRun函数 s 阅读全文

posted @ 2023-11-12 10:42 王景迁 阅读(71) 评论(0) 推荐(0)

k8s flannel获取小子网
摘要:flannel v0.11.0 kube-flannel-ds-amd64 main.go flanneld启动时设置kube-subnet-mgr参数是true,表示连接kube-apiserver来分配subnet,而不是直连etcd。 启动时从挂载的configmap kube-flannel 阅读全文

posted @ 2023-11-11 20:19 王景迁 阅读(31) 评论(0) 推荐(0)

k8s service ipvs模式下nodePort实现
摘要:部署nodePort+StatefulSet apiVersion: v1 kind: Service metadata: name: nginx spec: ports: - port: 80 selector: app: nginx type: NodePort apiVersion: apps 阅读全文

posted @ 2023-11-11 13:09 王景迁 阅读(345) 评论(0) 推荐(0)

k8s Pod dnsPolicy
摘要:dns解析策略 ClusterFirst 默认dns解析策略(不管容器走容器网络还是走主机网络)容器网络容器dns解析走coredns,主机网络容器dns解析走主机dns。Pod走容器网络场景 10.96.0.10是service kube-dns的ClusterIP。 Pod走主机网络场景 Clu 阅读全文

posted @ 2023-11-06 23:00 王景迁 阅读(261) 评论(0) 推荐(0)

KubeZoo协议转换
摘要:目的 KubeZoo基于协议转换核心理念实现控制面多租户功能,通过在资源的name/namespace等字段上增加租户的唯一标识 ,解决不同租户的同名资源在同一个上游k8s集群命名冲突的问题。 架构 KubeZoo:由无状态的kubezoo-server和Etcd组成。K8S MasterMaste 阅读全文

posted @ 2023-11-06 09:05 王景迁 阅读(58) 评论(0) 推荐(0)

multus实现容器多网卡
摘要:k8s v1.19.0 目的 multus支持不同容器网络插件实现容器多网卡,也支持相同容器网络插件实现容器多网卡。 实操 git clone https://github.com/intel/multus-cni.git && cd multus-cni git checkout v4.0.0 # 阅读全文

posted @ 2023-11-04 21:58 王景迁 阅读(225) 评论(0) 推荐(0)

gdb调试命令
摘要:只执行当前线程 不切换线程set scheduler-locking on 附着到worker进程调试 以调试nginx为例gdb attach 12400打断点b src/event/modules/ngx_epoll_module.c:860 继续执行c客户端发起请求curl localhost 阅读全文

posted @ 2023-11-04 15:19 王景迁 阅读(39) 评论(0) 推荐(0)

探针探测对sts pod域名解析是否成功的影响
摘要:k8s 1.19.0 初始情况 apiVersion: v1 kind: Service metadata: name: nginx spec: ports: - port: 80 selector: app: nginx apiVersion: apps/v1 kind: StatefulSet 阅读全文

posted @ 2023-11-04 14:20 王景迁 阅读(38) 评论(0) 推荐(0)

验证2个节点udp和tcp可通性
摘要:nc-u表示udp,默认是tcp。-l表示作为server监听。-4表示只能使用IPv4地址。-6表示只能使用IPv6地址(老版本ipv6可能不支持指定地址)。 server:192.168.0.104上开启udp 123端口server发送11 client:连接192.168.0.104上udp 阅读全文

posted @ 2023-11-01 23:11 王景迁 阅读(87) 评论(0) 推荐(0)

http包中的ListenAndServe函数是阻塞式的
摘要:package main import ( "fmt" "net/http" ) func main() { fmt.Println("before listen") http.ListenAndServe(":1000", nil) fmt.Println("after listen") } 执行 阅读全文

posted @ 2023-11-01 21:40 王景迁 阅读(176) 评论(0) 推荐(0)

导航