本文只用来记录在工作中涉及到K8S时所使用的一些命令。
1. 查看 k8s 中的 pod 列表
kubectl get pod -n <命名空间>
2. 查看 k8s 中的 service 列表
kubectl get svc -n <命名空间>
3. 查看k8s中特定pod的详细信息
kubectl describe pod -n <命名空间> <Pod名称>
4. 查看k8s中特定pod的日志
kubectl logs -n <命名空间> --tail <要展示的日志末尾总行数> <Pod名称>
如果要实时看到日志的最新内容,可以添加 -f 参数,如:
kubectl logs -n <命名空间> --tail <要展示的日志末尾总行数> -f <Pod名称>
5. 进入某个Pod运行Shell命令
kubectl exec -it -n <命名空间> <Pod名称> <可选:sh,bash>
例如:kubectl exec -it -n xxx pod-131jbhjdst3ee3 sh
6. 删除某个Pod
kubectl delete pod -n <命名空间> <Pod名称>
7. 批量强制删除某个状态的Pod
kubectl get pods -n <命名空间> | grep <Pod状态> | awk '{print $1}' | xargs kubectl delete pod --force --grace-period=0 -n <命名空间>
其中 --force 为强制删除
8. 通过 k8s 的 deployment yml 文件启动Pod
kubectl create -n <命名空间> -f <Yml文件>
9. 通过 k8s 的 deployment yml 文件删除Pod
kubectl delete -n <命名空间> -f <Yml文件>
由于一般我们直接使用 kubectl delete pod 删除Pod时,Pod都会自动重新启动,所以通过第8个命令删除
10. 通过 k8s 的日志命令结合管道查询日志中包含关键字的内容。
kubectl logs -n <命名空间> <Pod名称> | grep '<要搜索的内容>'
11. k8s查看认证信息
kubectl get secret -n <命名空间>
12. k8s创建私有镜像仓库认证信息
kubectl create secret docker-registry <认证名称> --docker-server=<Docker镜像仓库地址> --docker-username='<访问Docker镜像仓库的用户名>' --docker-password='<用户名的帐号密码>' -n <命名空间>
该认证信息可以用于 deployment 拉取镜像时候使用,具体通过 imagePullSecrets 配置项进行配置使用
13. 查看k8s中的Deployment列表
kubectl get deployment -n <命名空间>
14. 将k8s对pod进行扩容收缩,增加或减少节点
kubectl scale --replicas=<节点数> deploy/<Deployment名称> -n <命名空间>
注意:<Deployment名称> 不等于 节点名称,需要通过序号13的指令进行查看
15. 单独更新k8s pod的镜像版本
kubectl set image deploy/<Pod名称> <镜像名>=<完整的镜像路径>:<镜像版本号> -n <命名空间>:
样例:
kubectl set image deploy/a xxx=abc.com/k8s/xxx:0.0.1 -n namespace
Pod名称和镜像名等能够通过 kubectl describe pod 命令查看
16. 管理k8s资源的部署过程,允许你查看部署的状态,暂停、重启、恢复、撤回部署
kubectl rollout <指令> deploy/<部署名称> -n <命名空间>
# <指令> 如下可选:
# history 查看资源历史版本
# pause 暂停部署
# restart 重新启动部署
# resume 恢复部署
# status 查看部署的状态
# undo 撤回到之前的版本
# 例如:如果想重启一个在命名空间 xxx 下的名为 test-demo 的部署,可以执行命令:
kubectl rollout restart deploy/test-demo -n xxx
作者有话说:如果有幸帮助到你,麻烦给个赞,给个收藏,给个关注,感谢!你的赞,收藏和关注是我的动力源泉