k8s相关
1、
在Kubernetes中,命名空间有四种状态,分别是:
- Active:这是命名空间的主要状态,表示它正在被使用并且可以接受新资源。
- Terminating:这个状态表示命名空间正在被删除,当命名空间下的所有资源都被清理完毕后,该命名空间就会被自动删除。
- Failed:这个状态表示命名空间在创建过程中失败了,可能是因为某些资源不可用或者不符合某些条件。
- Unknown:这个状态表示Kubernetes无法获取命名空间的当前状态信息。
这些状态可以帮助管理员更好地了解命名空间的状态和健康状况,从而更好地管理Kubernetes集群中的资源。
看k8s还有多少资源可以用
limits的超分配
一般设置个100m 300m 500m 就行
满了pod 就是pending
这个requests只是告诉调度器一个大概的资源占用,超了就不在把pod 调度过来,多少都行,都是预留的,实际使用不超过limit.世民说的,实际使用的就是 top pod name 那个命令。说资源不够用是这个90%以上了。通过调小requests来继续使用资源。此时,其实宿主机的cpu,内存还是很多的。
kubectl describe node name
Allocated resources: (Total limits may be over 100 percent, i.e., overcommitted.) Resource Requests Limits -------- -------- ------ cpu 932m (7%) 3370m (28%) memory 600Mi (0%) 3294Mi (5%) ephemeral-storage 0 (0%) 0 (0%) hugepages-1Gi 0 (0%) 0 (0%) hugepages-2Mi 0 (0%) 0 (0%)
3、限速
scp rsync 限速 。mv不能限速。如果是上传到bucket,那么流量峰值会比较高,占用很大带宽,防止备份占用过多网络io,为了防止影响其它服务以及成本控制,需要限速。这里是cosfs挂载目录,然后mv到目录里面的。限速之后再看情况吧
mv
命令本身并不提供直接限速的功能。它是用于在 Unix 和类 Unix 系统上移动或重命名文件和目录的命令。
如果你想要在移动文件时限制速度,可以考虑使用其他工具或方法。以下是一些可能的方法:
-
使用
rsync
命令:rsync
是一个用于同步文件和目录的工具,它提供了--bwlimit
选项来限制传输速度。你可以使用rsync
命令的替代方案来模拟mv
的行为,例如:
rsync -av --bwlimit=100 source_file target_directory/source_file |
上述命令将把 source_file
移动到 target_directory
,并限制传输速度为 100 字节/秒。
2. 使用 pv
命令:pv
是一个小工具,可以显示进度条和限速功能。你可以使用 pv
来包装 mv
命令,例如:
pv source_file > target_directory/source_file && rm source_file |
上述命令将使用 pv
显示进度条和限速功能,然后将文件移动到目标目录,并删除原始文件。
请注意,这些方法都不是直接使用 mv
命令来实现限速的,而是通过其他工具来实现类似的效果。
4、k8s 获取所有容器的镜像
要获取Kubernetes中所有容器的镜像,可以使用以下命令:
kubectl get pods --all-namespaces -o jsonpath="{.items[*].spec.containers[*].image}" |
这个命令使用了kubectl get pods
来获取所有命名空间下的所有Pod,然后使用-o jsonpath
参数来格式化输出,以仅包含容器镜像名称。
注意,这个命令返回的是容器镜像名称,而不是完整的镜像ID或标签。如果您需要完整的镜像ID或标签,请考虑使用其他工具或方法来获取这些信息。
另外,请注意,如果您只是想要获取某个特定Pod的容器镜像信息,可以使用以下命令:
kubectl get pod <pod-name> -o jsonpath="{.spec.containers[*].image}" |
将<pod-name>
替换为您要查询的Pod的名称。
ingress: metadata: annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: 5120m nginx.ingress.kubernetes.io/proxy-connect-timeout: '60' nginx.ingress.kubernetes.io/proxy-read-timeout: '60' nginx.ingress.kubernetes.io/proxy-send-timeout: '60' nginx.ingress.kubernetes.io/service-weight: '' nginx.ingress.kubernetes.io/enable-cors: "true" spec: rules: - host:
7、
k8s node状态 SchedulingDisabled
在Kubernetes(通常简称为K8s)中,节点(Node)的状态为SchedulingDisabled
表示该节点已被标记为不可调度状态。这通常是由于管理员执行了某些操作,如使用kubectl cordon
命令,将节点从集群的调度中暂时隔离出来。
当节点处于SchedulingDisabled
状态时,Kubernetes将不会在该节点上调度新的Pod。这可以用于维护、升级或其他需要暂时将节点从集群中移除的场景。
要恢复节点的可调度状态,可以使用kubectl uncordon
命令。例如,如果要将名为node-1
的节点重新标记为可调度状态,可以执行以下命令:
kubectl uncordon node-1 |
这将使节点node-1
重新变为可调度状态,Kubernetes将再次考虑在该节点上调度新的Pod。
请注意,在将节点标记为SchedulingDisabled
或恢复其可调度状态之前,请确保您已了解这些操作对集群和正在运行的Pod的影响。在某些情况下,将节点从调度中隔离可能会导致正在运行的Pod出现问题或中断。因此,在执行这些操作之前,请务必仔细规划并评估潜在的风险。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
2021-11-04 cpu的各种信息查询