本文主要整理了Kube.NETes常用命令,給朋友們一個備忘錄。
查看K8S的幫助命令
kubectl --help
切換被操作的集群
默認情況下會在.kube
目錄下的config
文件里的證書去操作K8S集群。如果碰到需要切換訪問別的K8S集群的場景,可以使用kubectl --kubeconfig xxxxxx
去指定某個證書文件,比如:
kubectl --kubeconfig (xxxx.json | xxxxconfig) get node
創建資源對象
kubectl Apply -f xxx.yaml
查找資源對象
# 查到node
kubectl get node
# 查到namespace
kubectl get ns
# 查找service
kubectl get svc -n demo
# 查找部署資源
kubectl get deployment -n demo
# 查找pod
kubectl get pods -n demo
# 查找pod,展示更多信息
kubectl get pods -n demo -o wide
描述資源對象
describe
命令非常重要,當你部署資源出現問題時,可以通過這個命令去查看原因。
# 描述pod
kubectl describe pods webapp -n demo
# 描述node
kubectl describe node k8s-worker-2
# 描述ingress
kubectl describe ingress xxxxxx-ingress -n demo
# 描述service
kubectl 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 demo
kubectl 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=backend
kubectl label node k8s-worker-3 app-
kubectl get nodes --show-labels
kubectl get nodes k8s-worker-3 --show-labels
kubectl label pods xxxxxx addlabel=addlabelval -n demo
添加污點
# 添加污點
kubectl tAInt nodes node01 key=value:effect
# 刪除污點
kubectl taint nodes node01 key[:effect]-
刪除資源
kubectl delete -f xxx.yaml
kubectl delete pod xxx -n demo
查看日志
kubectl logs -f xxxxxx-9d8695998-s9cwk -n demo
kubectl logs xxxxxx-9d8695998-s9cwk -n demo
進入容器內部
kubectl exec -it webapp -n demo -- /bin/sh
查看使用資源的情況
kubectl top pod
kubectl top node