随笔分类 -  k8s

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

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 王景迁 阅读(131) 评论(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 王景迁 阅读(42) 评论(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 王景迁 阅读(101) 评论(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 王景迁 阅读(62) 评论(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 王景迁 阅读(34) 评论(0) 推荐(0)

kube-apiserver连不上etcd后会重启
摘要:k8s v1.19.0 kube-apiserver配置 参数etcd-servers中地址可以填多个,填了多个地址后kube-apiserver会连上所有,不加https不影响。 停止etcd后,kube-apiserver容器会反复重启。 阅读全文

posted @ 2024-05-07 08:54 王景迁 阅读(126) 评论(0) 推荐(0)

使用GPU
摘要:使用场景 物理机上GPU卡被挂载到容器中,容器中安装GPU驱动来管理GPU。 约束 k8s对GPU设备的管理只能处理设备个数这一种情况。GPU产品有AMD和NVIDIA,在k8s中对应amd.com/gpu和nvidia.com/gpu。GPU数量只能设置在limits,requests默认与lim 阅读全文

posted @ 2024-05-03 16:30 王景迁 阅读(58) 评论(0) 推荐(0)

GPU插件介绍
摘要:对于NVIDIA GPU,存在3种设备插件的实现。 官方NVIDIA GPU插件 要求1. 节点安装了NVIDIA驱动。2. 节点安装nvidia-docker 2.0。3. Docker的默认运行时必须设置为nvidia-container-runtime,而不是runc。4. NVIDIA 驱动 阅读全文

posted @ 2024-05-03 15:25 王景迁 阅读(128) 评论(0) 推荐(0)

klog在日志文件中error级别日志重复打印2次
摘要:问题现象 package main import ( "flag" "gopkg.in/natefinch/lumberjack.v2" "k8s.io/klog/v2" ) func main() { klog.InitFlags(nil) flag.Set("logtostderr", "fal 阅读全文

posted @ 2024-05-02 09:57 王景迁 阅读(158) 评论(0) 推荐(0)

k8s限速队列使用场景分析
摘要:场景1:add->add->get->get package main import ( "fmt" "k8s.io/client-go/util/workqueue" ) func main() { queue := workqueue.NewRateLimitingQueue(workqueue 阅读全文

posted @ 2024-04-30 09:13 王景迁 阅读(45) 评论(0) 推荐(0)

强删pod是否产生update事件
摘要:k8s v1.19.0 强删Pod产生Update事件 informerFactory.Core().V1().Pods().Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ UpdateFunc: func(old, new i 阅读全文

posted @ 2024-04-08 23:17 王景迁 阅读(25) 评论(0) 推荐(0)

k8s informer resync机制
摘要:informerFactory创建informer informer一般由informerFactory创建(支持直接创建informer,一般不这么做),informerFactory支持创建多种资源类型的informer,同一个informerFactory中同一种资源类型只创建一个inform 阅读全文

posted @ 2024-04-04 16:31 王景迁 阅读(170) 评论(0) 推荐(0)

k8s PV和PVC以及StorageClass
摘要:本地盘和云磁盘区别 本地盘不支持跨物理机迁移,云磁盘支持跨物理机迁移。 本地目录生命周期 emptyDir、downwardAPI、configMap、secret:kubelet创建本地目录,该目录会随着Pod的消亡而删除。hostPath:本地目录一直存在。 PVC、PV和StorageClas 阅读全文

posted @ 2024-04-04 15:15 王景迁 阅读(252) 评论(0) 推荐(0)

操作kubeconfig
摘要:使用kubeconfig优先级顺序 1. --kubeconfig参数2. $KUBECONFIG环境变量3. ${HOME}/.kube/config文件 查看kubeconfig内容 kubectl config view --raw 合并多个kubeconfig mv ~/.kube/conf 阅读全文

posted @ 2024-04-04 09:58 王景迁 阅读(38) 评论(0) 推荐(0)

k8s secret
摘要:k8s secret默认类型是Opaque,所有类型secret value都是base64转码值。 创建secret 把用户名和密码base64转码存入echo -n "abc" | base64 apiVersion: v1 kind: Secret metadata: name: test t 阅读全文

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

client-go使用技巧
摘要:Pod使用spec.serviceAccountName对应的token import "k8s.io/client-go/rest" cfg, err := rest.InClusterConfig() if err != nil { klog.Fatalf("Error building kub 阅读全文

posted @ 2024-03-13 08:51 王景迁 阅读(70) 评论(0) 推荐(0)

分析kube-apiserver单次创建namespace耗时
摘要:日志输出 # 业务日志 I0220 22:12:39.149364 40965 multi_config_multi_clientset.go:63] begin to wait cache sync I0220 22:12:39.250461 40965 multi_config_multi_cl 阅读全文

posted @ 2024-02-21 23:37 王景迁 阅读(57) 评论(0) 推荐(0)

编译调试kube-apiserver
摘要:k8s v1.19.0 cd kubernetes && make generated_filescd cmd/kube-apiserver && go build 报错app/server.go:467:87: undefined: openapi.GetOpenAPIDefinitionscd 阅读全文

posted @ 2024-02-15 19:19 王景迁 阅读(56) 评论(0) 推荐(0)

kube-apiserver限流配置
摘要:k8s v1.19.0 watch这种长时间运行请求不受限流影响。 普通限流 客户端访问kube-apiserver,限流参数有max-mutating-requests-inflight(默认值是200,对应操作类请求)和max-requests-inflight(默认值是400,对应查询类请求) 阅读全文

posted @ 2024-02-12 14:16 王景迁 阅读(463) 评论(0) 推荐(0)

client-go 分析Shutdown方法耗时长原因
摘要:k8s v1.19.0 Shutdown等待结束流程 第1步:reflector停止list/watch。 第2步:DeltaFifo队列关闭,元素全部取出,放入用户队列。 第3步:等待业务处理完成。 场景1:Shutdown方法等待EventHandler回调方法完成 klog.InitFlags 阅读全文

posted @ 2024-02-09 20:20 王景迁 阅读(33) 评论(0) 推荐(0)

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

导航