摘要:#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
阅读全文
摘要:MyBatisX Save Actions 热部署JRebel plugins里面搜索jrebel 激活jrebel 不要勾选 启用自动编译 不再显示指引 问题1:JRebel-JVMTI [FATAL] Couldn't write to C:\Users\win10把中文用户名改成英文
阅读全文
摘要:为什么kubelet引入cAdvisor 1 无法提供节点粒度资源数据。2 docker stats只能查看容器当前资源占用情况,无法查看历史数据。3 没有可视化页面。 部署cAdvisor容器并访问页面 docker run -itd \ --rm \ --volume=/:/rootfs:ro
阅读全文
摘要:方法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
阅读全文
摘要:k8s v1.19.0 configmap热更新约束 支持热更新:目录方式挂载configmap。不支持热更新:subPath单个文件方式挂载configmap和configmap注入到环境变量。 configmap热更新逻辑 修改kube-system/configmap coredns后触发ku
阅读全文
摘要:# 加载大页内存 echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages mount -t hugetlbfs nodev /mnt/huge # 加载vfio驱动 modprobe vfi
阅读全文
摘要:问题现象 问题分析 # 根据core文件来打印堆栈信息 gdb -c lcore-worker-2.core.20196 /root/code/dpvs/bin/dpvs 解决问题 大页内存2G不足导致段错误,分配4G后正常。
阅读全文
摘要: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]
阅读全文
摘要:方法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容器内可以执
阅读全文
摘要:k8s v1.19.0 方法1:基于文件路径 staging/src/k8s.io/client-go/tools/clientcmd/client_config.goBuildConfigFromFlags函数根据本地kubeconfig文件路径来生成restclient.Config对象。 st
阅读全文
摘要:--masquerade-all参数 true表示所有访问Service的数据包被SNAT。false(默认情况)表示源地址不属于Pod网段的数据包访问Service被SNAT。 转发场景分析 如果pod发送的响应包源地址不是client发送的请求包目的地址,那么直接丢弃。 client访问clus
阅读全文
摘要:k8s v1.19.0 虽然nginx pod ip是192.168.0.105,但是其他主机网卡ip上也有80端口。
阅读全文
摘要:k8s v1.19.0 pkg/kubelet/kubelet_pods.gogenerateAPIPodStatus函数根据getHostIPAnyWay方法返回结果作为PodIP,该PodIP会成为service的后端IP。 pkg/kubelet/kubelet_getters.gogetHo
阅读全文
摘要:k8s v1.19.0 检查配置 livenessProbe、readinessProbe和startupProbe配置,这3个都是走https。 kubelet加跳过证书认证 kubelet在执行https探测时跳过证书认证,kube-apiserver正常https业务接口无法跳过证书认证。pk
阅读全文
摘要:k8s v1.19.0 kube-controller-manager加分布式锁lease,完成leader选举,与kube-scheduler相同。 holder是主机名+uuidcmd/kube-controller-manager/app/controllermanager.goRun函数 s
阅读全文
摘要:flannel v0.11.0 kube-flannel-ds-amd64 main.go flanneld启动时设置kube-subnet-mgr参数是true,表示连接kube-apiserver来分配subnet,而不是直连etcd。 启动时从挂载的configmap kube-flannel
阅读全文
摘要:部署nodePort+StatefulSet apiVersion: v1 kind: Service metadata: name: nginx spec: ports: - port: 80 selector: app: nginx type: NodePort apiVersion: apps
阅读全文
摘要:dns解析策略 ClusterFirst 默认dns解析策略(不管容器走容器网络还是走主机网络)容器网络容器dns解析走coredns,主机网络容器dns解析走主机dns。Pod走容器网络场景 10.96.0.10是service kube-dns的ClusterIP。 Pod走主机网络场景 Clu
阅读全文
摘要:目的 KubeZoo基于协议转换核心理念实现控制面多租户功能,通过在资源的name/namespace等字段上增加租户的唯一标识 ,解决不同租户的同名资源在同一个上游k8s集群命名冲突的问题。 架构 KubeZoo:由无状态的kubezoo-server和Etcd组成。K8S MasterMaste
阅读全文
摘要:k8s v1.19.0 目的 multus支持不同容器网络插件实现容器多网卡,也支持相同容器网络插件实现容器多网卡。 实操 git clone https://github.com/intel/multus-cni.git && cd multus-cni git checkout v4.0.0 #
阅读全文
摘要:只执行当前线程 不切换线程set scheduler-locking on 附着到worker进程调试 以调试nginx为例gdb attach 12400打断点b src/event/modules/ngx_epoll_module.c:860 继续执行c客户端发起请求curl localhost
阅读全文
摘要:k8s 1.19.0 初始情况 apiVersion: v1 kind: Service metadata: name: nginx spec: ports: - port: 80 selector: app: nginx apiVersion: apps/v1 kind: StatefulSet
阅读全文
摘要: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
阅读全文
摘要:package main import ( "fmt" "net/http" ) func main() { fmt.Println("before listen") http.ListenAndServe(":1000", nil) fmt.Println("after listen") } 执行
阅读全文