獲取default命名空間下的所有pods
kubectl get pods
獲取所有命名空間下的所有pods
kubectl get pods --all-namespaces
獲取指定命名空間的pods
kubectl get pods --namespace=xxx
獲取狀態(tài)為running的pod
kubectl get pods --field-selector status.phase=Running -n {namespace}
查看pods定義的詳細(xì)信息
kubectl get pods -o yaml
查看運行的pod的環(huán)境變量
kubectl exec <pod名稱> env
查看指定pod的日志
kubectl logs -f pods/<pod名稱> -n kube-system
查看指定pod指定container的日志(container可以通過desctibe獲取)
kubectl logs -f {podname} -c {containername} -n {namespace}
到pod中執(zhí)行shell環(huán)境
kubectl exec -it {pod_name} -n {namespace} -- /bin/bash
到pod中指定的容器執(zhí)行shell環(huán)境
kubectl exec -it {pod_name} --container {container_name} -- /bin/bash
在控制面板運行pod的shell命令
kubectl exec -it {pod} -n {namespace} -- {shell_command}
從pod拷問文件
kubectl cp {namespace}/{pod}/path/file path/file
拷貝文件到pod
kubectl cp path/file {namespace}/{pod}/path/file
獲取所有node
kubectl get node
獲取所有node的詳細(xì)信息
kubectl get node -o wide
獲取所有工作節(jié)點(使用選擇器以排除標(biāo)簽名稱為 'node-role.kubernetes.io/master' 的結(jié)果)
kubectl get node --selector='!node-role.kubernetes.io/master'
如果需要查看集群名稱為zone下的集群節(jié)點信息, 可以使用以下命令
kubectl get nodes -l zone
查看節(jié)點已有標(biāo)簽
kubectl get node --show-labels=true
給節(jié)點添加標(biāo)簽
kubectl label node node-name key-val
查看某個命名空間(如kube-system)下的所有service
kubectl get services kubernetes-dashboard -n kube-system
查看某個命名空間(如kube-system)下的所有發(fā)布信息
kubectl get deployment kubernetes-dashboard -n kube-system
刪除指定namespace的pod
kubectl delete --all pods --namespace=foo
刪除指定namespace的deployment
kubectl delete --all deployments --namespace=foo
刪除命名空間
kubectl delete ns {namespace}
刪除命名空間所有資源
kubectl delete all --all -n {namespace}
獲取命名空間的所有資源
kubectl get all -n namespace-name
查看命名空間中的deployement
kubectl get deployment -n namespace
根據(jù)service名查看資源信息
kubectl describe service/kubernetes-dashboard --namespace="kube-system"
根據(jù)pod名稱查看資源信息
kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system"
kubectl describe pod nginx-772ai
創(chuàng)建資源
kubectl create -f <文件名.yaml>
重建資源
kubectl replace -f <文件名 [--force]
刪除資源
強制刪除某個文件名命名節(jié)點 kubectl delete -f <文件名>
刪除某個Pod命令節(jié)點 kubectl delete pod <pod名>
刪除某個Replication Controller命名節(jié)點 kubectl delete rc <rc名>
刪除某個服務(wù)命名節(jié)點 kubectl delete service <service名>
刪除所有Pod節(jié)點 kubectl delete pod --all
動態(tài)伸縮操作
為Replcation Controller名稱為nginx動態(tài)擴展5個服務(wù)節(jié)點
kubectl scale rc nginx --replicas=5
為redis-slave部署5 個服務(wù)節(jié)點
kubectl scale deployment redis-slave --replicas=5
為redis-slave-deployment.yaml部署腳本下的服務(wù)擴展2個節(jié)點
kubectl scale --replicas=2 -f redis-slave-deployment.yaml
進(jìn)入Pod節(jié)點容器內(nèi)進(jìn)行操作
kubectl exec -it redis-master-1033017107-q47hh /bin/bash
Pod節(jié)點容器標(biāo)簽操作
增加Node節(jié)點label值
kubectl label nodes node1 zone=north
增加Pod的label值 [key]=[value]
kubectl label pod redis-master-1033017107-q47hh role=master
刪除Pod的label值
kubectl label pod redis-master-1033017107-q47hh role-
修改Pod的label值
kubectl label pod redis-master-1033017107-q47hh role=backend --overwrite
滾動升級
配置文件滾動升級
kubectl rolling-update redis-master -f redis-master-controller-v2.yaml
命令升級
kubectl rolling-update redis-master --image=redis-master:2.0
Pod版本回滾
kubectl rolling-update redis-master --image=redis-master:1.0 --rollback
刪除一個Pod
ubectl delete pod podname -n namespace
刪除一個deployment
kubectl delete deployment deploymentname -n namespace
查看資源的各種狀態(tài)詳情
查看pod是狀態(tài)詳情
kubectl describe pod pod_name
在線編輯某個資源
kubectl edit res_type res_name
給名為foo的Pod添加label unhealthy=true
kubectl label pods foo unhealthy=true
給名為foo的Pod修改label 為 'status' / value 'unhealthy',且覆蓋現(xiàn)有的value
kubectl label --overwrite pods foo status=unhealthy
給 namespace 中的所有 pod 添加 label
kubectl label pods --all status=unhealthy
僅當(dāng)resource-version=1時才更新 名為foo的Pod上的label
kubectl label pods foo status=unhealthy --resource-version=1
刪除名為“bar”的label 。(使用“ - ”減號相連)
kubectl label pods foo bar-