kubectl常用指令整理

整理一些搜集的常用的k8s指令,不定时更新

kubectl 输出格式

  1. 显示Pod的更多信息
    kubectl get pod <pod-name> -o wide

  2. 以yaml格式显示Pod的详细信息
    kubectl get pod <pod-name> -o yaml

对于deployment, node 以及 service同样有效

kubectl 操作示例

  1. 创建资源对象
    根据yaml配置文件一次性创建service和rc
    kubectl create -f my-service.yaml -f my-rc.yaml
    根据目录下所有.yaml、.yml、.json文件的定义进行创建操作
    kubectl create -f <directory>
    使用命令行创建
    kubectl run <deployment-name> --image=nginx:1.7.9 --replicas=2
    image参数指定pull的镜像, replicas属性指定副本的数量

  2. 查看资源对象
    查看所有Pod列表
    kubectl get pods
    查看rc和service列表
    kubectl get rc,service

  3. 描述资源对象
    显示Node的详细信息
    kubectl describe nodes <node-name>
    显示Pod的详细信息
    kubectl describe pods <pod-name>
    显示由RC管理的Pod的信息
    kubectl describe pods <rc-name>

  4. 删除资源对象
    基于Pod.yaml定义的名称删除Pod
    kubectl delete -f pod.yaml
    删除所有包含某个label的Pod和service
    kubectl delete pods,services -l name=<label-name>
    删除所有Pod
    kubectl delete pods --all

  5. 执行容器的命令
    执行Pod的data命令,默认是用Pod中的第一个容器执行
    kubectl exec <pod-name> data
    指定Pod中某个容器执行data命令
    kubectl exec <pod-name> -c <container-name> data
    通过bash获得Pod中某个容器的TTY,相当于登录容器
    kubectl exec -it <pod-name> -c <container-name> bash

  6. Pod的扩容与缩容
    执行扩容缩容Pod的操作
    kubectl scale rc redis --replicas=3
    我们需要确认的是在rc配置文件中定义的replicas数量,当我们执行上述命令的结果大于replicas的数量时,则我们执行的命令相当于扩容操作,反之相反,可以理解为我们填写的数量是我们需要的Pod数量。需要注意的是,当我们需要进行永久性扩容时,不要忘记修改rc配置文件中的replicas数量。

  7. Pod的滚动升级
    执行滚动升级操作
    kubectl rolling-update redis -f redis-rc.update.yaml
    需要注意的是当我们执行rolling-update命令前需要准备好新的RC配置文件以及ConfigMap配置文件,RC配置文件中需要指定升级后需要使用的镜像名称,或者可以使用kubeclt rolling-update redis --image=redis-2.0直接指定镜像名称的方式直接升级。

  8. 查看容器日志
    查看容器输出到stdout的日志
    kubectl logs <pod-name>
    跟踪查看容器的日志,相当于tail –f命令的结果:
    kubectl logs –f <pod-name> -c <container-name>

猜你喜欢

转载自blog.csdn.net/m0_37556444/article/details/84979312