天天看点

kubernetes常用命令

kubectl常用创建和查看操作

  1. 创建deployment
kubectl create -f nginx-deployment.yaml           
  1. 查看deployment
    kubectl get deployment           
  2. 查看pod
kubectl get pod -o wide           
  1. 查看某个pod的详细信息
    kubectl describe pod nginx-deployment-75d56bb955-bzkv4           
  2. 测试pod访问
    curl --head 10.0.0.2           
  3. 更新Deployment
    kubectl set image deployment/nginx-deployment nginx=nginx:1.12.2 --record           
  4. kubectl get deployment -o wide           
  5. 查看更新历史(执行创建和更新时,需要添加

    --record

    参数)
    kubectl rollout history deployment           
  6. 查看具体的某一版本历史记录
    kubectl rollout history deployment/nginx-deployment --revision=2           
  7. 快速回滚到上一个版本
    kubectl rollout undo deployment/nginx-deployment           
  8. 扩容和缩容
    kubectl  scale deployment nginx-deployment --replicas 2           
  9. 查看后端负载和转发规则
    ipvsadm -Ln           

kubectl 操作示例

  • 使用yaml文件创建service 和 rc:
    kubectl create -f my-service.yaml -f my-rc.yaml           
  • 根据<dir>目录下的所有 .yaml .yml .json文件定义进行创建操作:
    kubectl create -f <dir>           
  1. 查看资源对象
    kubectl get pods
    kubectl get rc,service           
  • 显示node的详细信息
    kubectl describe nodes <node-name>           
  • 显示pod的详细信息
    kubectl describe pods/<pod-name>           
  • 显示由RC管理的pod信息
    kubectl describe pods <rc-name>           
    1. 删除资源对象
  • 基于pod.yaml定义的名称删除pod:
    kubectl delete -f pod.yaml           
  • 删除所有包含某个label的pod和service:
    kubectl delete pods, services -l name=<label-name>           
  • 删除所有pod:
    kubectl delete pods --all           
    • 执行pod的date命令,默认使用pod中的第一个容器执行:
      kubectl exec <pod-name> date           
    • 指定pod中某个容器执行date命令
      kubectl exec <pod-name> -c <container-name> date           
    • 通过bash获得pod中某个容器的TTY,相当于登录容器:
      kubectl exec -it <pod-name> -c <container-name> /bin/bash           
  1. 查看容器的日志
    • 查看容器输出到stout的日志:
      kubectl logs <pod-name>           
    • 跟踪查看容器的日志,相当于tail -f 命令的结果:
      kubectl logs -f <pod-name> -c <container-name>