给你来一份Kubernetes常用命令备忘录

作者:不焦躁的程序员 2023-09-27 12:28:08云计算云原生 本文主要整理了Kubernetes常用命令,给朋友们一个备忘录。

本文主要整理了Kubernetes常用命令,给朋友们一个备忘录。

查看K8S的帮助命令

kubectl --help

切换被操作的集群

默认情况下会在.kube目录下的config文件里的证书去操作K8S集群。如果碰到需要切换访问别的K8S集群的场景,可以使用kubectl –kubeconfig xxxxxx去指定某个证书文件,比如:

kubectl --kubeconfig (xxxx.json | xxxxconfig) get node

创建资源对象

kubectl apply -f xxx.yaml

查找资源对象

# 查到nodekubectl get node# 查到namespacekubectl get ns# 查找servicekubectl get svc -n demo# 查找部署资源kubectl get deployment -n demo# 查找podkubectl get pods -n demo# 查找pod,展示更多信息kubectl get pods -n demo -o wide

描述资源对象

describe命令非常重要,当你部署资源出现问题时,可以通过这个命令去查看原因。

# 描述podkubectl describe pods webapp -n demo# 描述nodekubectl describe node k8s-worker-2# 描述ingresskubectl describe ingress xxxxxx-ingress -n demo# 描述servicekubectl describe svc web-service -n demo

伸缩资源

扩展副本数到4:kubectl scale --replicas=4 deployment/xxxxxx -n demo重新缩减副本数到2:kubectl scale --replicas=2 deployment/xxxxxx -n demo根据情况自动缩放:kubectl autoscale deployment xxxxxx --min=1 --max=4 -n demokubectl autoscale deployment ehome-cloud-server --min=1 --max=3 -n test1 --cpu-percent=80获取水平自动缩放器kubectl get hpa -n test1删除水平自动缩放器kubectl delete hpa ehome-cloud-server -n test1

操作label

label是集群内部用来查找和筛选的标签,非常重要。

kubectl label node k8s-worker-3 app=backendkubectl label node k8s-worker-3 app-kubectl get nodes --show-labelskubectl get nodes k8s-worker-3 --show-labelskubectl label pods xxxxxx addlabel=addlabelval -n demo

添加污点

# 添加污点kubectl taint nodes node01 key=value:effect# 删除污点kubectl taint nodes node01 key[:effect]-

删除资源

kubectl delete -f xxx.yamlkubectl delete pod xxx -n demo

查看日志

kubectl logs -f xxxxxx-9d8695998-s9cwk -n demokubectl logs xxxxxx-9d8695998-s9cwk -n demo

进入容器内部

kubectl exec -it webapp -n demo -- /bin/sh

查看使用资源的情况

kubectl top podkubectl top node