kubectl version //顯示客戶端和服務器側版本信息 kubectl api-versions //列出當前版本的kubernetes的服務器端所支持的api版本信息 kubectl explain pod //查看幫助信息和help相似,尤爲是資源清單的結構字段信息 kubectl cluster-info //獲取k8s集羣信息 kubectl explain Deployment.spec.template.spec.containers.resources //查看幫助信息,資源下的cpu和memory等,每一個配置項都有詳細的網頁手冊地址
kubectl scale rc nginx --replicas=5 //動態伸縮 kubectl scale deployment redis-slave --replicas=5 //動態伸縮 kubectl scale --replicas=2 -f redis-slave-deployment.yaml //動態伸縮 kubectl exec -it redis-107-q47hh /bin/bash //進入容器 kubectl label nodes node1 zone=north //增長節點lable值 spec.nodeSelector: zone: north kubectl label pod redis-107-q47hh role=master //增長lable值 [key]=[value] kubectl label pod redis-107-q47hh role- //刪除lable值 kubectl label pod redis-107-q47hh role=backend --overwrite //修改lable值 kubectl rolling-update redis-master -f redis.yaml //配置文件滾動升級 kubectl rolling-update redis-master --image=redis-master:2.0 //命令升級 kubectl rolling-update redis-master --image=redis-master:1.0--rollback //pod版本回滾 kubectl cp fileName podName:/fileName //複製文件到pod的指定目錄,也可從容器中複製文件到外部 kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}' //修改網絡類型 eg例子: kubectl run nginx-dep --image=nginx --port=80 --replicas=1 //建立的 deployment爲nginx-dep 鏡像爲nginx 端口爲80 副本數爲1 kubectl expose deployment nginx-dep --port=3000 --target-port=80 //--port:SVC 暴露的端口爲3000--target-port:映射的容器端口。即建立 deployment 時使用的端口。 kubectl edit svc nginx-dep //修改svc的yaml文件
kubectl create -f yamls/pod.yaml //根據yaml文件建立容器 kubectl apply -f yamls/pod.yaml //根據 yaml 建立資源, apply 能夠重複執行,create 不行 kubectl create -f yamls/ //多個yaml文件建立容器 kubectl delete -f yamls/pod.yaml //刪除指定pod kubectl delete -f yamls/ //刪除多個pod kubectl delete pods podName //刪除指定pod kubectl delete deployment ControllerName //有控制器的pod不能直接刪除,需先刪除其控制器 kubectl delete pod,svc -l name=<label-name> //刪除全部包含某個 label 的pod 和 service kubectl delete pod --all //刪除全部 Pod
kubectl get namespaces //列出全部的namespace kubectl get nodes //顯示node節點信息 kubectl get endpoints //查看 endpoint 列表 kubectl get services -n kube-system //查看全部service -n指定namespace kubectl get deployments -n kube-system //查看全部deployment kubectl get pods --all-namespaces //查看全部pod kubectl get pods -o wide --all-namespaces //查看全部pod的IP及節點 kubectl get pods -o wide --all-namespaces -c //查看全部pod的IP及節點並實時等待監控 kubectl get pods -n kube-system | grep dashboard //查看namespace中kube-system下的pod 並過濾
kubectl describe service my-svc //查看my-svc的詳細描述 kubectl describe pods my-pod //查看my-pod的詳細描述 kubectl describe node 192.168.0.212 //顯示 Node 的詳細信息
kubectl logs <pod-name> // 查看容器的日誌 kubectl logs -f <pod-name> // 實時查看日誌 kubectl log <pod-name> -c <container_name> //若 pod 只有一個容器,能夠不加 -c kubectl logs -l app=frontend // 返回全部標記爲 app=frontend 的 pod 的合併日誌