k8s日常维护
1.删除Terminating状态的pod并重新添加
kubectl delete pod dashboard-metrics-scraper-5bf4c9f4b7-crmth -n kubernetes-dashboard --force ##强制删除
kubectl get deployment -n kubernetes-dashboard ##查看有那些deployment
kubectl scale deployment dashboard-metrics-scraper --replicas=2 -n kubernetes-dashboard ##添加副本数重新生成一个新的
2.查看具体某个pod的日志
kubectl logs my-release-milvus-datanode-7568696899-kkzr8
##################################k8s中pod重启方法###########################
1. 有yaml文件的重启方式
修改配置文件,将replicas: 1 改成 replicas: 0
重新应用
[root@node2 ~]#kubectl apply -f milvus_cluster_external_dependencies.yaml
[root@node2 ~]# kubectl get pods -n middleware
No resources found in middleware namespace.
再次将replicas: 0 改成 replicas: 1
[root@node2 ~]#kubectl apply -f milvus_cluster_external_dependencies.yaml
[root@node2 ~]# kubectl get pods -n middleware
NAME READY STATUS RESTARTS AGE
milvus-dev-milvus-datanode-655c67b87c-6vncq 0/1 Init:0/1 0 3s
milvus-dev-milvus-indexnode-6fd477c747-6bk2s 0/1 Init:0/1 0 3s
milvus-dev-milvus-mixcoord-7c5b6c679f-5x75x 0/1 Init:0/1 0 3s
milvus-dev-milvus-proxy-774744b4d9-zdm2k 0/1 Init:0/1 0 3s
milvus-dev-milvus-querynode-0-68c7b69d44-89j76 0/1 Init:0/1 0 3s
2. 没有yaml文件重启方式
2.1 使用scale命令
[root@node2 ~]# kubectl get deployment -n middleware
NAME READY UP-TO-DATE AVAILABLE AGE
milvus-dev-milvus-datanode 1/1 1 1 2d23h
milvus-dev-milvus-indexnode 1/1 1 1 2d23h
milvus-dev-milvus-mixcoord 1/1 1 1 2d23h
milvus-dev-milvus-proxy 1/1 1 1 2d23h
milvus-dev-milvus-querynode-0 1/1 1 1 2d23h
milvus-dev-milvus-querynode-1 0/0 0 0 2d23h
milvus-dev-milvus-standalone 0/0 0 0 2d23h
kubectl scale --replicas=0 deployment milvus-dev-milvus-proxy -n middleware
kubectl scale --replicas=1 deployment milvus-dev-milvus-proxy -n middleware
2.2 直接删除重启
此方式只针对使用的deployment对象,并且重启策略为可以重启,则可以尝试删除重启
#kubectl delete replicaset {rs_name} -n {namespace}
kubectl delete pod milvus-dev-milvus-proxy-774744b4d9-flmkw -n middleware
删除后会自动生成一个新的
2.3 使用 "-o yaml"参数导出Pod模板并重建模板(推荐)
#kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -
2.4 Kubernetes 1.15开始才有
kubectl rollout restart deployment {pod} -n {namespace}
[root@yunwei-k8s-dev tmp]# kubectl get deployment -n middleware
NAME READY UP-TO-DATE AVAILABLE AGE
elastic-exporter 1/1 1 1 69d
kibana 1/1 1 1 262d
milvus-dev-milvus-datanode 1/1 1 1 239d
milvus-dev-milvus-indexnode 1/1 1 1 239d
milvus-dev-milvus-mixcoord 1/1 1 1 239d
milvus-dev-milvus-proxy 1/1 1 1 239d
milvus-dev-milvus-querynode-0 1/1 1 1 239d
milvus-dev-milvus-querynode-1 0/0 0 0 239d
milvus-dev-milvus-standalone 0/0 0 0 239d
vector 1/1 1 1 261d
kubectl rollout restart deployment milvus-dev-milvus-querynode-1 -n middleware
3.进入某个pod
kubectl exec -it milvus-dev-milvus-querynode-1-7cf497d649-wg8gn -n middleware -- /bin/sh
4.查看pod使用内存
[root@yunwei-k8s-master1-test ~]# kubectl top pod -n hxl|grep region
hxl-region-api-84f77b495d-s89c4 9m 531Mi
hxl-region-core-f7b49fb54-lrmd7 1951m 2908Mi
5.节点添加标签
节点添加标签
kubectl label nodes node1 k8s.kuboard.cn/role=etcd
节点删除标签(-)
kubectl label nodes node1 k8s.kuboard.cn/role-
查看标签
kubectl get node --show-labels
浙公网安备 33010602011771号