K8S

常用命令

  • 查看 pod:kubectl get pod -n kubectl describe pod -n
  • 查看 pod 运行在哪个 node 节点:kubectl get pod -o wide -n
  • 查看 pod 有哪些 label:kubectl get pod –show-labels -n
  • 查看 node 有哪些 label:kubectl get nodes –show-labels
  • 查看 service:kubectl get svc -n
  • 进入容器的交互式 shell:kubectl exec -it - /bin/bash -n
  • 查看日志:kubectl logs -n
  • 查看后十行日志:kubectl logs –tail=10
  • 查看上次启动的日志:kubectl logs -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 key1=value1:NoExecute
  • 驱逐 node 上 pod,不驱逐 ds:kubectl drain –delete-local-data –force –ignore-daemonsets
  • 恢复调度:kubectl uncordon
  • 强制删除 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 镜像都删掉。

配置

deployment.yml

1

service.yml

1

ingress.yml

1

serviceMonitor.yml

1