随笔分类 -  k8s

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

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 王景迁 阅读(49) 评论(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 王景迁 阅读(79) 评论(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 王景迁 阅读(17) 评论(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 王景迁 阅读(82) 评论(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 王景迁 阅读(37) 评论(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 王景迁 阅读(136) 评论(0) 推荐(0)

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

posted @ 2024-10-01 09:25 王景迁 阅读(100) 评论(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 王景迁 阅读(40) 评论(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 王景迁 阅读(33) 评论(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 王景迁 阅读(17) 评论(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 王景迁 阅读(176) 评论(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 王景迁 阅读(43) 评论(0) 推荐(0)

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

posted @ 2024-07-27 15:32 王景迁 阅读(151) 评论(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 王景迁 阅读(19) 评论(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 王景迁 阅读(78) 评论(0) 推荐(0)

Linux ip forward和网卡forward
摘要:问题现象 k8s集群外节点192.168.0.112创建路由,可以访问到k8s集群内节点pod ip。 ip route add 10.16.0.0/16 via 192.168.0.105 dev ens33 目的网段是容器网段,下一跳是k8s节点ip 192.168.0.105,相当于flann 阅读全文

posted @ 2024-06-08 15:33 王景迁 阅读(119) 评论(0) 推荐(0)

client-go创建完资源后不是立刻更新本地缓存
摘要:klog.InitFlags(nil) flag.Parse() defer klog.Flush() cfg, err := clientcmd.BuildConfigFromFlags("", "/root/.kube/config") cfg.QPS = 10000 cfg.Burst = 2 阅读全文

posted @ 2024-05-31 08:42 王景迁 阅读(32) 评论(0) 推荐(0)

k8s常用运维命令
摘要:alias k=kubectl 操作kubeconfig # 查看context k config get-contexts # 切换context k config use-context contextName # 使用context访问 k --context=contextName get 阅读全文

posted @ 2024-05-21 09:17 王景迁 阅读(83) 评论(0) 推荐(0)

经过dnat后访问kube-apiserver证书认证失败
摘要:问题现象 iptables -t nat -I OUTPUT -d 10.10.10.10 -p tcp --dport 443 -j DNAT --to-destination 192.168.0.105:6443 # 报错requested domain name does not match 阅读全文

posted @ 2024-05-08 23:53 王景迁 阅读(53) 评论(0) 推荐(0)

使用kubeconfig报错localhost 8080 was refused
摘要:问题现象 使用kubeconfig时,报错the server localhost:8080 was refused。 问题分析 对比正常kubeconfig,缺少current-context。 解决问题 kubectl --kubeconfig=config config use-context 阅读全文

posted @ 2024-05-08 22:37 王景迁 阅读(26) 评论(0) 推荐(0)

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

导航