获取default命名空间下的所有pods
kubectl get pods
获取所有命名空间下的所有pods
kubectl get pods --all-namespaces
获取指定命名空间的pods
kubectl get pods --namespace=xxx
获取状态为running的pod
kubectl get pods --field-selector status.phase=Running -n {namespace}
查看pods定义的详细信息
kubectl get pods -o yaml
查看运行的pod的环境变量
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中执行shell环境
kubectl exec -it {pod_name} -n {namespace} -- /bin/bash
到pod中指定的容器执行shell环境
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的详细信息
kubectl get node -o wide
获取所有工作节点(使用选择器以排除标签名称为 'node-role.kubernetes.io/master' 的结果)
kubectl get node --selector='!node-role.kubernetes.io/master'
如果需要查看集群名称为zone下的集群节点信息, 可以使用以下命令
kubectl get nodes -l zone
查看节点已有标签
kubectl get node --show-labels=true
给节点添加标签
kubectl label node node-name key-val
查看某个命名空间(如kube-system)下的所有service
kubectl get services kubernetes-dashboard -n kube-system
查看某个命名空间(如kube-system)下的所有发布信息
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
根据service名查看资源信息
kubectl describe service/kubernetes-dashboard --namespace="kube-system"
根据pod名称查看资源信息
kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system"
kubectl describe pod nginx-772ai
创建资源
kubectl create -f <文件名.yaml>
重建资源
kubectl replace -f <文件名 [--force]
删除资源
强制删除某个文件名命名节点 kubectl delete -f <文件名>
删除某个Pod命令节点 kubectl delete pod <pod名>
删除某个Replication Controller命名节点 kubectl delete rc <rc名>
删除某个服务命名节点 kubectl delete service <service名>
删除所有Pod节点 kubectl delete pod --all
动态伸缩操作
为Replcation Controller名称为nginx动态扩展5个服务节点
kubectl scale rc nginx --replicas=5
为redis-slave部署5 个服务节点
kubectl scale deployment redis-slave --replicas=5
为redis-slave-deployment.yaml部署脚本下的服务扩展2个节点
kubectl scale --replicas=2 -f redis-slave-deployment.yaml
进入Pod节点容器内进行操作
kubectl exec -it redis-master-1033017107-q47hh /bin/bash
Pod节点容器标签操作
增加Node节点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
查看资源的各种状态详情
查看pod是状态详情
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',且覆盖现有的value
kubectl label --overwrite pods foo status=unhealthy
给 namespace 中的所有 pod 添加 label
kubectl label pods --all status=unhealthy
仅当resource-version=1时才更新 名为foo的Pod上的label
kubectl label pods foo status=unhealthy --resource-version=1
删除名为“bar”的label 。(使用“ - ”减号相连)
kubectl label pods foo bar-