k8s常用命令

如题所述

第1个回答  2022-07-07
相关服务及用途节点名称服务名称用途管理节点kubctl-apiserver提供HTTP Rest统一接口服务,处理和验证REST请求和更新etcd中API对象的状态管理节点kubectl-controller-manager资源控制管理同步管理节点kube-scheduler负责资源调度(调度Pod)工作节点kubelet管理Pod的生命周期,创建、启停等任务工作节点kube-proxy负责网络通信及负载均衡### 1.重启服务kubectl patch deployment app名称 -p {"spec":{"template":{"metadata":{"labels":{"date":"date +'%s'"}}}}} -n kube-system

kubectl logs --previous l7-lb-controller-74c67fb85d-5b5cg -n kube-system

kubectl describe pod kubernetes-dashboard -n kube-system

kubectl get svc kubernetes-dashboard -n kube-system

kubectl get ep -n kube-system kubernetes-dashboard

lsmod | grep ip_vs
查看标签kubectl get node --show-labels -n kube-system
kubectl get pods --show-labels kube-sytem
kubectl get pod --show-labels kubernetes-dashboard-6845889d64-25f9x -n kube-system

kubectl describe svc kubernetes-dashboard -n kube-system
kubectl describe pod kubernetes-dashboard -n kube-system

在容器内执行命令kubectl exec -ti pod名称 /bin/bash -n kube-system

kubectl get daemonset -o yaml -n kube-system calico-node
kubectl get svc -o json pod名称 -n kube-system

kubectl get daemonsets -n kube-system

通过文件创建cat > my-namespace.yaml << EOF
apiVersion: v1
kind: Namespace
metadata:
name: new-namespace
EOF
kubectl create -f ./my-namespace.yaml
删除命令空间kubectl delete namespaces new-namespace
删除一个namespace会自动删除所有属于该namespace的资源。default 和 kube-system 命名空间不可删除。### 15.创建/查看 Deployment 记录版本号kubectl create -f nginx-deployment.yaml --record

重新分配pod数量kubectl scale deployment kubernetes-dashboard --replicas=1 -n kube-system

查看升级历史记录kubectl rollout history deployment/kubernetes-dashboard -n kube-system
查看单个revision的详细信息kubectl rollout history deployment/kubernetes-dashboard --revision=1 -n kube-system
回滚到上一个版本kubectl rollout undo deployment/kubernetes-dashboard -n kube-system
指定回滚某个历史版本kubectl rollout undo deployment/kubernetes-dashboard --to-revision=1 -n kube-system

查看hap状态kubectl get hpa kubernetes-dashboard -n kube-system
查看hpa详细状态kubectl describe hpa kubernetes-dashboard -n kube-system
删除hpakubectl delete hpa kubernetes-dashboard -n kube-system

kubectl set image deploy kubernetes-dashboard nginx=nginx:1.9.1
更新升级资源kubectl set resources deployment kubernetes-dashboard -c=kubernetes-dashboard --limits=cpu=200m,memory=512Mi -n kube-system
恢复kubectl rollout resume deploy kubernetes-dashboard -n kube-system

kubectl get csr
添加新工作节点kubectl get csr|grep 'Pending' | awk 'NR>0{print 1}';do kubectl certificate approve 1}';do kubectl certificate deny 1}';do kubectl delete csr $i;done

查看集群访问连接kubectl cluster-info
查看权限kubectl describe clusterrole cluster-admin -n kube-system
查看kubectl版本kubectl version
查看支持api版本kubectl api-version
查看当前kubectl配置kubectl config view
查看集群状态kubectl get componentstatuses
kubectl get rs
查看集群节点kubectl get nodes
查看命名空间kubectl get namespaces
Node状态维护每个Node都包括以下状态信息
地址:包括hostname、外网IP和内网IP
条件(Condition):包括OutOfDisk、Ready、MemoryPressure和DiskPressure
容量(Capacity):Node上的可用资源,包括CPU、内存和Pod总数
基本信息(Info):包括内核版本、容器引擎版本、OS类型等
维护状态/取消维护模式kubectl cordon NodeName
kubectl uncordon NodeName