kubectl 常用命令
# 查看资源清单选项解释说明
$ kubectl explain pod.spec.containers
# 查看资源对象
$ kubectl get pod
-o wide # 查看更多的信息,包括 Pod ip、pod 运行的节点
yaml # 将当前的资源对象输出为 yaml 文件
json # 将当前的资源对象输出为 json 文件
-w # 监听变换,将变化信息输出至前台
--show-labels # 查看标签
-l # 通过标签过滤当前的输出 -l app=nginx
-n default # 指定名字空间,默认即 default
--all-namespaces == -A # 查看所有名字空间中的对象
# 删除资源对象
$ kubectl delete 资源类别 对象名称
$ kubectl delete pod pod-demo
$ kubectl delete -f xxx.yaml
--all 删除当前所有的资源对象
kubectl delete pod --all
# 实例化资源对象
$ kubectl create -f xxx.yaml/xxx.json
yaml > kubectl (yaml > json) > apiServer
https://cloudmessage.top/archives/k8s-zai-windowszhong-shi-yong-kubectllian-jie-ji-qun
# 查看资源对象的详细信息(事件) - 此条命令常用于排错
$ kubectl describe 资源类别 对象名称
# 让 pod 内部的容器执行命令
$ kubectl exec -it podName -c cName -- command
kubectl exec -it pod-demo -c myapp-1 -- /bin/sh
如果 pod 内部只封装了一个容器,那么 -c 可以省略
# 查看容器日志
$ kubectl logs podName -c cName
kubectl logs pod-demo -c myapp-1
-p -c # 查看已经停止的容器日志
-f # 持续输出容器日志信息
--tail=20 # 查看容器最近20条日志
--since=1h # 查看容器最近一小时产生的日志
# 标签
$ kubectl label 资源类别 对象名称
kubectl label pod pod-demo version=v1 # 添加标签
kubectl label pod pod-demo app=tomcat --overwrite # 修改存在的标签
# 调整控制器的副本数量
$ kubectl scale 资源类别 对象名称 --replicas=副本数
kubectl scale rs rs-demo --replicas=10
# 修改资源对象,操作方式同 vim 一致
$ kubectl edit 资源类别 对象名称
如果,修改完成后保存,但是回退,代表此资源无法修改
# 应用资源清单
$ kubectl apply -f xxx.yaml\xxx.json
# 修改控制器的镜像
$ kubectl set image 资源类别/对象名 容器名=镜像名
kubectl set image deployment/nginx-deployment nginx=wangyanglinux/myapp:v2
# 滚动跟新相关命令
$ kubectl rollout status deployments nginx-deployment # 查看当前此次滚动的信息,成功的返回码为 0,可以通过此返回码确认滚动的节点
$ kubectl rollout history deployment/nginx-deployment # 查看当前滚动的历史记录,注意要想在其中显示版本对应的变化命令,必须在每一个执行命令后加上 --record
$ kubectl rollout undo deployment/nginx-deployment # 回滚,默认回滚上一个版本
--to-revision=2 # 可以使用 --revision 参数指定某个历史版本
$ kubectl rollout pause deployment/nginx-deployment # 暂停 deployment 的更新
$ kubectl rollout resume deployment/nginx-deployment # 恢复 deployment 的更新
# 对当前的资源对象进行补丁(更贴合 shell 脚本逻辑)
kubectl patch 资源类别 对象名 -p '{"spec":{"strategy":{"rollingUpdate":{"maxSurge":5,"maxUnavailable":0}}}}'
spec:
strategy:
rollingUpdate:
maxSurge: 5
maxUnavailable: 0