kubectl常用命令
#查看所有节点pod的名字、数量、状态、启动的时间、创建的时间
kubectl get pods
#加上-o wide可以看到IP还有pod的运行在那些节点上
#Nominated Node:表示 Pod 已被选中调度到某个节点,但还未完成调度过程。
#Readiness Gates:一种额外的状态检查机制,用于确定 Pod 是否准备好接收流量。
kubectl get pods -o wide -w
#可以查看pod的yaml信息
kubectl get pods <pod的name> -o yaml
#查看pod的日志
kubectl logs -f <pod的name>
#查看所有名称空间 kube-flannel网络插件 kube-node-lease检测节点是否活着 kube-system系统组件 kube-public存放公共信息 default默认空间
kubectl get namespaces
#查看deploy和pods在default名称空间下的状态,deploy预期的pod的数量和实际的数量 只不过这条命令展示的更加详细,多个镜像 标签 容器名
kubectl get deploy,pods -o wide -n default
#查看预期
kubectl get deploy
#查看详细信息
kubectl describe node <节点名字>
#去污点 去了污点后续就可以调度过来 补充一点master节点默认带有污点
kubectl taint node k8s-node-01 node-role.kubernetes.io/master:NoExecute-
#加污点 除了master节点给别的节点加污点会把该节点的副本转移到别的副本
kubectl taint node k8s-node-01 node-role.kubernetes.io/master:NoExecute
#加减副本数量
kubectl scale deployment web --replicas=<数量>
#删除
kubectl delete deployment test
#可以用来生成一个yaml文件
kubectl create deployment web --image=nginx:1.14 --dry-run -o yaml > web.yaml
#应用或更新资源到集群
kubectl apply -f web.yaml
创建过程
创建过程:
用户编写 YAML 文件并使用 kubectl apply 命令创建 Deployment。
Deployment 创建一个或多个 ReplicaSet,并设置期望的副本数。
ReplicaSet 根据 Pod 模板创建 Pod,并确保实际运行的 Pod 数量与期望的副本数相匹配。
管理过程:
Deployment 监控 ReplicaSet 和 Pod 的状态,确保符合期望的状态。
如果 Pod 出现故障,ReplicaSet 会创建新的 Pod 来替换。
Deployment 和 ReplicaSet 会根据定义的策略来管理 Pod 的更新。
单个 ReplicaSet:通常情况下,一个 Deployment 会创建一个 ReplicaSet 来管理 Pod。
多个 ReplicaSet:在滚动更新或回滚期间,Deployment 会创建多个 ReplicaSet 来实现平滑的更新。
pod调度策略
(pod应该调度在哪些物理节点上),注意,污点的优先级更高
1、根据资源
Pod声明的requests和limits,前者就是Pod需要多少资源,后者表示Pod最多用多少资源,资源比如CPU内存等
2、指哪打哪
节点标签选择器,会选择符合标签的节点进行调度
3、同上
节点亲和性,分为硬亲和和软亲和,前者必须满足,后者尝试满足,不强制
评论 (0)