一些有用的kubernetes命令

74 阅读1分钟

多年来,我们一直投入大量的个人时间和精力,与大家分享我们的知识。然而,我们现在需要你的帮助来维持这个博客的运行。你所要做的只是点击网站上的一个广告,否则它将由于托管等费用而不幸被关闭。谢谢你。

下面的列表包含了大部分使用的Kubernetes命令。你可以在这里这里看到各种各样的命令。

列出所有资源

$ kubectl api-resources --verbs=list -o name

删除所有的x资源(例如:pods)

$ kubectl delete pods --all

K8S节点信息(cpu,mem等)

列出所有的x资源(例如:pods)

列出一个pod中的所有容器

$ kubectl get pods some-pod-name -o json

显示x资源信息(如pod)

$ kubectl describe pod some-pod-name

进入一个pod的容器

$ kubectl exec -it some-pod-name -c some-container-name sh

转发K8S端口到本地端口

$ kubectl port-forward some-pod-name some-local-port:some-k8s-port

倾倒pod日志

$ kubectl logs some-pod-name

跟踪pod容器的日志

$ kubectl logs -f some-pod-name some-container-name

在尾随pod日志时排除一些日志

$ kubectl logs -f some-pod-name some-container-name | grep -ev '(health|metrics)'

重新启动一个pod

$ kubectl rollout restart deployment/some-deployment-name

删除并重新启动一个pod

$ kubectl delete pod some-pod-name

删除命名空间

如果你删除一个命名空间,其中的所有资源将被删除。

$ kubectl delete namespace some-namespace

切换到一个不同的命名空间

$ kubectl config set-context --current --namespace=some-namespace

列出集群中发生的事件

用一个新的环境变量更新部署

$ kubectl set env deployment/some-deployment-name some-env-var=some-value

更新部署的容器图像

$ kubectl set image deployment/some-deployment-name some-container-name=some-image-name:version