kubectl常用创建和查看操作

  1. 创建deployment
kubectl create -f nginx-deployment.yaml
  1. 查看deployment
kubectl get deployment
  1. 查看pod
kubectl get pod -o wide
  1. 查看某个pod的详细信息
kubectl describe pod nginx-deployment-75d56bb955-bzkv4
  1. 测试pod访问
curl --head 10.0.0.2
  1. 更新Deployment
kubectl set image deployment/nginx-deployment nginx=nginx:1.12.2 --record
  1. 查看deployment
kubectl get deployment -o wide
  1. 查看更新历史(执行创建和更新时,需要添加 --record参数)
kubectl rollout history deployment
  1. 查看具体的某一版本历史记录
kubectl rollout history deployment/nginx-deployment --revision=2
  1. 快速回滚到上一个版本
kubectl rollout undo deployment/nginx-deployment
  1. 扩容和缩容
 kubectl  scale deployment nginx-deployment --replicas 2
  1. 查看后端负载和转发规则
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
  1. 查看容器的日志
  • 查看容器输出到stout的日志:
kubectl logs <pod-name>
  • 跟踪查看容器的日志,相当于tail -f 命令的结果:
kubectl logs -f <pod-name> -c <container-name>