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. 查看deployment
    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 操作示例

1.创建资源对象

  • 使用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

3.描述资源对象

  • 显示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
  1. 执行容器的命令

    • 执行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
  2. 查看容器的日志
    • 查看容器输出到stout的日志:
      kubectl logs <pod-name>
    • 跟踪查看容器的日志,相当于tail -f 命令的结果:
      kubectl logs -f <pod-name> -c <container-name>