pod常用命令
一、创建资源对象
根据yaml配置文件一次性创建service和rc
`$ kubectl create -f my-service.yaml -f my-rc.yaml`
根据目录下所有.yaml、.yml、.json文件的定义进行创建操作
`$ kubectl create -f <directory>`
二、查看pod对象
1. 查看所有Pod列表
`$ kubectl get pods`
2. 显示Pod的更多信息
`kubectl get pod <pod-name> -o wide`
3. 以yaml格式显示Pod的详细信息
`kubectl get pod <pod-name> -o yaml`
1. 查看命名空间
`kubectl get namespaces`
2. 查看所有命令空间pod
`kubectl get pod --all-namespaces` 或者 `kubectl get pod -A`
3. 查看指定命名空间pod信息
kubectl get pod -n kube
1. 查看所有pod标签信息
`kubectl get pods --show-labels`
2. 查看指定标签的pod
`kubectl get pods -l app=rs-demo`
3. 格式化输出自定义列信息
root@k8s-master:~# kubectl get pod -o custom-columns=pod_name:metadata.name,pod_image:spec.containers[0].image
pod_name pod_image
nginx-5fc57795c6-74gcw daocloud.io/library/nginx:latest
nginx-7ccd58f54-tvzv8 daocloud.io/library/nginx:latest
三、查看pod对象的详细信息
显示Pod的详细信息
`$ kubectl describe pods/<pod-name>`
`$ kubectl describe pods <pod-name>`
四、查看容器中的日志信息
1. 查看容器的日志
`kubectl logs <pod-name>`
2. 实时查看日志
`kubectl logs -f <pod-name>
五、在pod中执行命令
1. 执行Pod的data命令,默认是用Pod中的第一个容器执行
`$ kubectl exec <pod-name> data`
2. 指定Pod中某个容器执行data命令
`$ kubectl exec <pod-name> -c <container-name> data`
3. 通过bash获得Pod中某个容器的TTY,相当于登录容器
`$ kubectl exec -it <pod-name> -c <container-name> bash`
六.删除pod对象
1. 基于Pod.yaml定义的名称删除Pod
`$ kubectl delete -f pod.yaml`
2. 删除所有包含某个label的Pod
`$ kubectl delete pods -l name=<label-name>`
3. 删除所有Pod
`$ kubectl delete pods --all`
七、其他相关命令
-
1. 编辑名为 docker-registry 的 pod $ kubectl edit pod docker-registry 1. 获取相关的使用帮助 `$ kubectl explain pods` `$ kubectl explain pods.spec` 2. 给pod资源添加lables标签 `kubectl label pods/pod-with-labels version=v1` 3. 修改已有pod资源标签 `kubectl label pods/pod-with-labels version=v2 --overwrite`
有pod资源标签
kubectl label pods/pod-with-labels version=v2 --overwrite
[外链图片转存中...(img-JxEvxWEw-1659607964168)]