随笔分类 -  k8s

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

k8s OpenLocal存储
摘要:参考项目https://github.com/alibaba/open-local v0.7.1 NodeLocalStorage定义 NodeLocalStorage cr表示每个k8s节点本地存储资源信息。controller创建后由节点上agent更新status,从而维护存储信息。 apiV 阅读全文

posted @ 2025-01-14 21:18 王景迁 阅读(96) 评论(0) 推荐(0)

client-go InClusterConfig方法
摘要:InClusterConfig方法 package main import ( "context" "test/signals" "time" "os" core_v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1 阅读全文

posted @ 2024-12-28 22:04 王景迁 阅读(49) 评论(0) 推荐(0)

k8s PvController绑定pvc和pv
摘要:k8s v1.19.0 结论 pv-controller创建pv,完成pvc与pv的绑定。无论是WaitForFirstConsumer还是Immediate,挑选pv时都是选择满足pvc的accessMode和容量前提下最接近容量要求的pv。 1. 如果StorageClass中volumeBin 阅读全文

posted @ 2024-11-16 00:18 王景迁 阅读(173) 评论(0) 推荐(0)

kube-scheduler队列之间倒换pod
摘要:k8s 1.19.0 默认从unschedulableQ出来,说明已经退避完成。 pkg/scheduler/scheduler.goRun方法 pkg/scheduler/internal/queue/scheduling_queue.goRun方法 上次调度失败时间+2^(尝试调度次数-1)s小 阅读全文

posted @ 2024-11-13 00:01 王景迁 阅读(28) 评论(0) 推荐(0)

k8s 进入pod network namespace
摘要:6种namespace Namespace弊端 最主要的问题就是隔离得不彻底。首先,多个容器之间共享内核。其次,有很多资源是不能被Namespace化的,例如时间。 Network Namespace 进入Docker的network namespace docker把所有容器的Network Na 阅读全文

posted @ 2024-10-27 20:44 王景迁 阅读(104) 评论(0) 推荐(0)

client-go 基于不同kubeconfig会创建多条长连接
摘要:k8s.io/client-go v0.31.2 问题现象 package main import ( "context" "test/signals" "time" core_v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/ 阅读全文

posted @ 2024-10-27 16:57 王景迁 阅读(60) 评论(0) 推荐(0)

containerd存储fs
摘要:安装nerdctl wget https://github.com/containerd/nerdctl/releases/download/v2.0.0-rc.3/nerdctl-full-2.0.0-rc.3-linux-amd64.tar.gz tar Cxzvvf /usr/local ne 阅读全文

posted @ 2024-10-27 13:21 王景迁 阅读(114) 评论(0) 推荐(0)

k8s rbac
摘要:rbac基于角色的权限控制针对namespace粒度,user-rolebinding-role或者user-group-rolebinding-role;针对cluster粒度,user-clusterrolebinding-clusterrole或者user-group-clusterroleb 阅读全文

posted @ 2024-10-25 08:52 王景迁 阅读(24) 评论(0) 推荐(0)

关闭k8s驱逐
摘要:k8s v1.15.0 k8s驱逐pod,一般发生在pod无法容忍节点污点,例如节点上产生磁盘压力。 防止驱逐粒度 方法 kubelet kubelet配置文件/etc/sysconfig/kubelet(低版本)末尾追加内容 --eviction-hard=imagefs.available<1% 阅读全文

posted @ 2024-10-15 09:03 王景迁 阅读(98) 评论(0) 推荐(0)

scheduler framework扩展点
摘要:k8s v1.25.0 扩展点 作用 queueSort 待调度队列pod排序 preFilter 预选前预处理 filter 预选 postFilter 预选后处理(可修改pod为可调度) preScore 预打分 score 优选 reserve 资源预留给pod permit 阻止或延迟pod 阅读全文

posted @ 2024-10-11 19:52 王景迁 阅读(52) 评论(0) 推荐(0)

calico节点重启4分钟后跨节点流量才通
摘要:bird v0.3.3 问题现象 针对calico bgp peer+ipip模式,单个节点重启,等待4分钟以上,pod跨节点流量才通。 问题分析 calico必须指定bgp模式,通过bird来获取pod ip所在主机ip,bgp建连后在节点上增加目的ip是pod小子网、下一跳是pod所在节点ip、 阅读全文

posted @ 2024-10-05 23:30 王景迁 阅读(162) 评论(0) 推荐(0)

k8s cache.DeletedFinalStateUnknown
摘要:针对已删除对象Obj,删除事件因与apiserver断连而丢失,DeletedFinalStateUnknown只会在relist时可能出现,缓存了已被删除对象,放入DeltaFIFO,删除本地缓存对象。 relist场景1:watch超时时间内没有收到事件。2:watch指定的resourceVe 阅读全文

posted @ 2024-10-01 09:25 王景迁 阅读(125) 评论(0) 推荐(0)

kubelet获取pod ip
摘要:k8s v1.19.0 pod ip不是由cni告诉kubelet的,而是kubelet pleg基于nsenter进入network namespace+ip命令查询网卡得到。 pkg/kubelet/pleg/generic.go Start -> relist -> updateCache(更 阅读全文

posted @ 2024-09-18 08:58 王景迁 阅读(51) 评论(0) 推荐(0)

k8s部署单机redis pod
摘要:kind: ConfigMap apiVersion: v1 metadata: name: redis namespace: default labels: app: redis data: redis.conf: |- port 6379 bind 0.0.0.0 dir /data appen 阅读全文

posted @ 2024-09-15 11:14 王景迁 阅读(43) 评论(0) 推荐(0)

kube-controller-manager如何处理多种cr变更
摘要:k8s v1.19.0以deployment controller为例pkg/controller/deployment/deployment_controller.gorun函数处理enqueueDeployment函数写入队列的key namespace/name,与pkg/controller 阅读全文

posted @ 2024-09-08 12:13 王景迁 阅读(22) 评论(0) 推荐(0)

curl命令更新k8s cr status
摘要:因为status是cr的subresource,所以不支持使用kubectl直接更新cr status,由controller来更新status。在KubeBuilder框架中,使用xxx.Status().Update(xxx)方式来更新status。在ClientSet中,通过UpdateSta 阅读全文

posted @ 2024-09-07 15:29 王景迁 阅读(198) 评论(0) 推荐(0)

multus实现自定义网卡名字
摘要:安装环境 cat <<EOF | kind create cluster --name test --config - kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 networking: kubeProxyMode: iptables disab 阅读全文

posted @ 2024-09-03 09:18 王景迁 阅读(57) 评论(0) 推荐(0)

k8s cronjob执行时间
摘要:问题现象 一般cronjob执行时间会比预期晚8小时。 问题分析 cronjob执行时区以kube-controller-manager为准,而kube-controller-manager默认是0时区。 解决问题 解决方式1kube-controller-manager容器挂载宿主机timezon 阅读全文

posted @ 2024-07-27 15:32 王景迁 阅读(172) 评论(0) 推荐(0)

k8s job类型pod完成后状态
摘要:apiVersion: batch/v1 kind: Job metadata: name: test spec: template: metadata: name: test spec: containers: - name: test image: busybox:1.35.0 restartP 阅读全文

posted @ 2024-06-19 09:03 王景迁 阅读(26) 评论(0) 推荐(0)

k8s容器网络ovs vxlan流向总结
摘要:ovs流表刷在br-int网桥上。容器网卡eth0另一端在ovs br-int网桥上。容器网关gw在br-int网桥上,ip地址是从pod网段中分配。br-int网桥上有vxlan类型ovs端口,用于封包和解包。 同节点 主机->容器 路由判断->iptables OUTPUT->iptables 阅读全文

posted @ 2024-06-08 17:44 王景迁 阅读(94) 评论(0) 推荐(0)

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

导航