常见命令如下:
查看所有的pod:kubectl get pods
查看pod:kubectl get pod -n <namespace> kubectl describe pod <pod> -n <namespace>
查看pod运行在哪个node节点:kubectl get pod -o wide -n <namespace>
查看pod有哪些label:kubectl get pod --show-labels -n <namespace>
查看node有哪些label:kubectl get nodes --show-labels
查看service:kubectl get svc -n <namespace>
进入容器的交互式shell:kubectl exec <pod> -it - /bin/bash -n <namespace>
查看日志:kubectl logs <pod> -n <namespace>
查看后十行日志:kubectl logs <pod> --tail=10
查看上次启动的日志:kubectl logs <pod> -p
修改image版本:kubectl set image deployment nginx(deploy name) nginx(container name)=nginx:1.9.1
修改副本数:kubectl scale --replicas=3 deployment mysql
拷贝文件:kubectl cp mysql-478535978-1dnm2:/tmp/message.log message.log
查看yaml文件:cd /etc/kubernetes/apps/
应用yaml文件:kubectl apply -f xxx.yml
关键命令
驱逐node上所有pod:kubectl taint node <node_name> key1=value1:NoExecute
驱逐node上pod,不驱逐ds:kubectl drain <node_name> --delete-local-data --force --ignore-daemonsets
恢复调度:kubectl uncordon <node_name>
强制删除namespace:kubectl delete namespace NAMESPACENAME --force --grace-period=0
命令行方式重启Deployment:kubectl patch deployment my-app --patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20180411" }}}}}'
查看某个资源的字段意义:kubectl explain deployment.spec.template.spec.dnsPolicy
查看资源类型及版本:kubectl api-resources kubectl api-versions
创建一个测试的deployment:kubectl run curl -it --image=pstauffer/curl 或 kubectl run curl -it --image=registry.sensetime.com/viper-test/curl
创建一个nginx的deployment并暴露服务:kubectl run nginx --image=nginx --expose --port=80
清理docker镜像:docker system prune -f 命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像);docker system prune -af 命令清理得更加彻底,可以将没有容器使用 Docker 镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉。