随笔分类 -  k8s

上一页 1 ··· 3 4 5 6 7 8 下一页

webhook
摘要:作用范围 kube-apiserver请求处理全流程 webhook可以作用于准入。 准入控制 回调时,MutatingAdmissionWebhook可以修改对象,ValidatingAdmissionWebhook可以拒绝请求。 参考资料 深入理解 Kubernetes Admission We 阅读全文

posted @ 2023-07-16 09:37 王景迁 阅读(144) 评论(0) 推荐(0)

Neutron网络模型
摘要:网络类型 VLAN模型 VXLAN模型 VXLAN和VLAN VID转换 针对不同场景,VID说法不同。针对VXLAN来说是VNI,针对VLAN来说是VLAN ID。VLAN和VXLAN共用br-int网桥时,VXLAN解封装后变成VLAN报文,防止br-int上VXLAN报文解封装成VLAN后的内 阅读全文

posted @ 2023-07-15 16:29 王景迁 阅读(152) 评论(0) 推荐(0)

软SDN和硬SDN
摘要:软SDN Overlay控制端点放在服务器内的虚拟交换机上。 硬SDN Overlay控制端点放在实体交换机上。 阅读全文

posted @ 2023-07-15 16:23 王景迁 阅读(193) 评论(0) 推荐(0)

下载k8s源码
摘要:设置GOPATH环境变量 go env -w GO111MODULE=auto cd $GOPATH mkdir -p src/k8s.io cd src/k8s.io git clone https://github.com/kubernetes/kubernetes.git cd kuberne 阅读全文

posted @ 2023-07-15 16:21 王景迁 阅读(175) 评论(0) 推荐(0)

kubelet编译和输出日志
摘要:编译kubelet yum install -y gcc go env -w GO111MODULE="off" cd $GOPATH/src/k8s.io/kubernetes/cmd/kubelet go install -v # 或者make,编译后的文件在kubernetes/_output 阅读全文

posted @ 2023-07-07 23:45 王景迁 阅读(139) 评论(0) 推荐(0)

验证service sessionAffinity超出timeoutSeconds走轮询
摘要:k8s 1.15.0 sessionAffinity原理 service会话保持配置 ... sessionAffinity: ClientIP sessionAffinityConfig: clientIP: timeoutSeconds: 10800 ... sessionAffinity默认是 阅读全文

posted @ 2023-07-07 23:35 王景迁 阅读(197) 评论(0) 推荐(0)

数据面节点kubelet一直报错找不到静态Pod路径
摘要:k8s 1.19.0 问题现象 问题分析 pkg/kubelet/config/file_linux.gostartWatch方法 pkg/kubelet/kubelet.gomakePodSourceConfig函数 cmd/kubelet/app/options/options.goAddKub 阅读全文

posted @ 2023-06-19 11:32 王景迁 阅读(95) 评论(0) 推荐(0)

因磁盘压力而驱逐Pod
摘要:k8s 1.15.0 问题现象 node2上产生磁盘压力前状态 node2上产生磁盘压力后guaranteed Pod和ds Pod被驱逐 nginx-deployment Pod被驱逐后容忍污点调度到node2,kubelet二次确认否决,继续驱逐 pkg/kubelet/eviction/evi 阅读全文

posted @ 2023-06-18 17:18 王景迁 阅读(118) 评论(0) 推荐(0)

OpenKruise原地升级
摘要:OpenKruise master 为什么使用原地升级 原地升级含义:更新容器镜像,只升级容器,不触发Pod重建原地升级优势:节省了调度、CNI和CSI、大部分拉取镜像耗时针对k8s集群大量Pod升级场景,减小k8s集群压力。在OpenKruise中支持原地升级的workload/controlle 阅读全文

posted @ 2023-06-12 10:53 王景迁 阅读(610) 评论(0) 推荐(0)

kube-scheduler预选和优选流程
摘要:k8s 1.15.0 kube-scheduler启动时,根据node add事件逐个初始化节点资源,根据已调度的pod add事件减掉node资源。node上没有剩余资源字段,allocatable是业务pod可用资源总量,capacity是节点资源总量。 预选 GeneralPredicates 阅读全文

posted @ 2023-06-10 17:07 王景迁 阅读(99) 评论(0) 推荐(0)

Pod qos模型
摘要:划分qos依据 Guaranteed1.Pod里所有Container都设置了requests和limits,并且requests和limits值相等,且设置了cpu和memory2.只设置limits,k8s默认会设置requests是limits的值Burstable1.不满足Guarantee 阅读全文

posted @ 2023-06-10 12:06 王景迁 阅读(40) 评论(0) 推荐(0)

k8s污点和容忍
摘要:污点 污点是打在节点上的。污点的作用在于,防止调度和驱逐删除。污点的组成是key=value:effect effect取值是NoSchedule、PreferNoSchedule和NoExecute。NoSchedule:不允许调度,已经调度的不受影响。PreferNoSchedule:尽量避免调 阅读全文

posted @ 2023-05-21 23:02 王景迁 阅读(366) 评论(0) 推荐(0)

EndpointController更新endpoint
摘要:因kcm异常而没有更新endpoint 停止kube-controller-manager 删除Pod coredns后endpoint没有更新 kube-proxy没有更新svc kube-dns 恢复kcm后更新endpoint 启动kube-controller-manager后,去掉了异常c 阅读全文

posted @ 2023-05-20 21:33 王景迁 阅读(146) 评论(0) 推荐(0)

kube-proxy修改日志级别并观察endpoint变化
摘要:k8s v1.15.0 修改日志级别 k edit ds kube-proxy -n kube-system 增加kube-system命名空间下coredns Pod k get endpoints kube-dns -n kube-system -oyaml 持续输出kube-proxy日志 d 阅读全文

posted @ 2023-05-17 22:16 王景迁 阅读(359) 评论(0) 推荐(0)

StatefulSet扩缩容源码分析
摘要:k8s v1.15.0 Informer监听 cmd/kube-controller-manager/app/apps.go 作为StatefulSet资源控制器,StatefulSetController通过PodInformer、StatefulSetInformer、PersistentVol 阅读全文

posted @ 2023-05-07 14:49 王景迁 阅读(55) 评论(0) 推荐(0)

Deploy扩缩容源码分析
摘要:k8s v1.15.0 Informer监听 作为Deployment资源控制器,DeploymentController通过DeploymentInformer、ReplicaSetInformer、PodInformer来监听事件。 cmd/kube-controller-manager/app 阅读全文

posted @ 2023-05-07 11:00 王景迁 阅读(223) 评论(0) 推荐(0)

kube-scheduler的2个独立控制循环
摘要:k8s 1.19.0 调度周期:从NextPod到RunPermitPlugins绑定周期:从RunPrebindPlugins到RunPostbindPlugins调度的本质就是将Pod为空的NodeName写上相应的Node的值 第1个控制循环:Informer Path 通过Informer来 阅读全文

posted @ 2023-05-02 10:49 王景迁 阅读(72) 评论(0) 推荐(0)

Pod常见状态分析
摘要:常见状态和原因 kube-schedulerPending:调度不成功 kubeletImagePullBackOff:镜像拉取失败Running:容器已创建并且启动Ready:容器可以提供服务CrashLoopBackOff:容器退出后kubelet拉起新容器 如果没有配置livenessProb 阅读全文

posted @ 2023-05-01 18:20 王景迁 阅读(199) 评论(0) 推荐(0)

flannel容器IP
摘要:docker没有分配IP cni0网桥相当于docker0网桥,veth对有一个会加在上面。 查看cni0网桥的端口 对应3个Pod 根据网络接口序号来查找veth另一端,veth对的两端mac地址不同 docker0上没有端口 阅读全文

posted @ 2023-04-16 17:50 王景迁 阅读(32) 评论(0) 推荐(0)

DaemonSet控制Pod拉起节点
摘要:k8s release-1.15 实验现象 创建ds apiVersion: apps/v1 kind: DaemonSet metadata: name: nginx spec: selector: matchLabels: app: nginx template: metadata: label 阅读全文

posted @ 2023-04-15 21:21 王景迁 阅读(35) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 下一页

导航