kubectl create -f xxx.yaml [-n $namespaceName] | 通过资源描述文件创建资源 [在指定命名空间中创建] |
kubectl logs $podname | 在k8s节点上查询指定pod的日志,此命令只适用于pod中只有一个容器的日志查询 |
kubectl logs $podname -c $containerName | 查询pod中某个容器的日志,功能类似docker logs $containerName。$containerName是在pod的yaml描述文件中spec-containers下指定的 |
kubectl logs $podname --previous | pod异常退出后查看退出的pod的日志,检查为什么异常退出 |
kubectl get po --show-labels | 显示pod的标签项 |
kubectl label po $podname labelkey=lableValue | 为pod新增标签 |
kubectl label po $podname $labelkey=lableNewValue --overwrite | 修改pod的现有标签值,将$podname的$labelkey标签值修改为lableNewValue |
kubectl get po -l labelkey=lableValue | 通过标签名和标签值筛选pod |
kubectl get po -l labelkey!=lableValue | 筛选包含标签名,但值不为lableValue的所有pod |
kubectl get po -l labelkey in (lableValue1,lableValue1) | 筛选包含标签名且值在指定范围内的所有pod |
kubectl get po -l labelkey notin (lableValue1,lableValue1) | 筛选包含标签名且值不在指定范围内的所有pod |
kubectl get po -l labelkey | 筛选包含标签名的所有pod |
kubectl get po -l '!labelkey' | 筛选不包含标签名的所有pod |
kubectl get po -n $namespaceName | 获取指定命名空间下的pod |
kubectl delete po $podname | 删除指定pod |
kubectl delete po -l lablekey=lableValue | 删除指定标签的pod |
kubectl delete ns $namespaceName | 删除整个命名空间,其内的所有pod会被删除 |
kubectl delete po --all | 删除当前命名空间下的所有pod,不删除命名空间 |
kubectl delete all --all | 删除当前命名空间下的所有资源(第一个all的含义)的所有实例(第二个all的含义) |
kubectl edit rc $rcname |
修改已经生效的副本管理器rc的配置,修改后直接生效, 比如改变rc的标签,将导致现有的pod全部失效,自动重新创建新pod |
kubectl scale rc $rcname --replicas=5 | 将rc的副本数调整为5,也可通过 kubectl edit rc $rcname修改replicas |
kubectl delete rc $rcname --cascade=false |
删除rc,保留pod |
kubectl exec -it $podname bash |
kubectl exec类似docker exec,在pod中执行命令 |
kubectl create configmap $configmapname --from-literal=$mapkey2=$mapvalue2 |
创建configmap,使用--from-literal通过指定n个字面量键值对为configmap片增加条目 |
kubectl create configmap $configmapname --from-file=$fileOrPathName2 |
创建configmap,使用--from-file指定配置文件名,在当前目录下查找$fileOrPathName文件,将文件内容存储在configmap中以$fileOrPathName为键名的条目下 创建configmap,使用--from-file指定配置文件目录,为文件夹下的每个文件都创建一个条目 |
kubectl create -f $deplName.yaml --record |
创建deployment资源,--record必带,用于记录版本号用于回滚发布 |
kubectl rollout status deployment $deplName | 前台监控deployment滚动升级过程 |
kubectl rollout history deployment $deplName | 列出指定deployment滚动升级历史,主要获取不同升级的版本号revision,用于指定版本号进行恢复 P275 |
kubectl rollout undo deployment $deplName [--to-revision=1] | 手动回滚到先前部署的版本[恢复到指定的版本号而不是上个版本] |
kubectl set image deployment $deplName $containerName=yfzhou528/kubia:v2 |
手动触发滚动升级:通过命令修改deployment中容器的镜像(通常通过更改版本号v2来触发) |
kubectl rollout pause deployment $deplName |
手动暂停滚动升级 |
kubectl rollout resume deployment $deplName | 手动恢复滚动升级 |