K8s的一些小坑或者bug简要记录:修订间差异
小无编辑摘要 |
小无编辑摘要 |
||
第1行: | 第1行: | ||
=== kubectl === | __TOC__ | ||
=== kubectl=== | |||
==== kubectl rollout history ==== | ==== kubectl rollout history==== | ||
kubectl rollout history 在 v1.26之前,如果带上-o yaml或者-o json之类的-o 参数,输出的内容会是错误的版本内容 | kubectl rollout history 在 v1.26之前,如果带上-o yaml或者-o json之类的-o 参数,输出的内容会是错误的版本内容 | ||
相关Issue https://github.com/kubernetes/kubectl/issues/598#issuecomment-1230824762 | 相关Issue https://github.com/kubernetes/kubectl/issues/598#issuecomment-1230824762 | ||
==== kubectl apply 在特定情况下可能有bug或者非预期行为 ==== | ==== kubectl apply 在特定情况下可能有bug或者非预期行为==== | ||
前提提要: kubectl apply 的工作涉及到了计算行为 [https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/#how-apply-calculates-differences-and-merges-changes How apply calculates differences and merges changes] | 前提提要: kubectl apply 的工作涉及到了计算行为 [https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/#how-apply-calculates-differences-and-merges-changes How apply calculates differences and merges changes] | ||
第15行: | 第16行: | ||
kubernetes中apply命令执行的全过程源码解析:https://juejin.cn/post/6968106028642598949 | kubernetes中apply命令执行的全过程源码解析:https://juejin.cn/post/6968106028642598949 | ||
=== kubelet === | === kubelet=== | ||
==== kubelet 1.27前串行拉取容器镜像 ==== | ==== kubelet 1.27前串行拉取容器镜像==== | ||
https://kubernetes.io/docs/concepts/containers/images/#serial-and-parallel-image-pulls | https://kubernetes.io/docs/concepts/containers/images/#serial-and-parallel-image-pulls | ||
2023年11月8日 (三) 16:47的版本
kubectl
kubectl rollout history
kubectl rollout history 在 v1.26之前,如果带上-o yaml或者-o json之类的-o 参数,输出的内容会是错误的版本内容
相关Issue https://github.com/kubernetes/kubectl/issues/598#issuecomment-1230824762
kubectl apply 在特定情况下可能有bug或者非预期行为
前提提要: kubectl apply 的工作涉及到了计算行为 How apply calculates differences and merges changes
例如如果在kubectl 1.18,kubectl apply操作hostAliases的时候可能是追加而不是替换 在使用kubectl_apply操作hostalias产生的非预期行为
还有一个修改probe配置,apply会有异常的,这个基本也是跟apply计算实现有关(只出现在1.18,不是很记得怎么复现,有缘再补)
kubernetes中apply命令执行的全过程源码解析:https://juejin.cn/post/6968106028642598949
kubelet
kubelet 1.27前串行拉取容器镜像
https://kubernetes.io/docs/concepts/containers/images/#serial-and-parallel-image-pulls
By default, kubelet pulls images serially. In other words, kubelet sends only one image pull request to the image service at a time. Other image pull requests have to wait until the one being processed is complete.
kubernetes 节点上kubelet在1.27版本之前对于容器镜像是串行拉取的,串行值为1,这在拉公网镜像的时候会有可能导致其它容器镜像一直处在拉取状态,在1.27中改成了并行镜像拉取