IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    K8s drain 命令源码阅读

    Yiran\'s Blog发表于 2020-02-15 11:22:13
    love 0
    背景 链接到标题 之前写过一篇 《Kubernetes 实战-平滑移除节点》 讲如何从 K8s 集群中移除节点的,今天来看看 kubectl drain 命令具体做了什么,怎么实现的。 kubectl 链接到标题 drain 相关命令都属于 kubectl 的自命令,因此需要先看下 kubectl 的入口,K8s 使用 cobra 作为命令行构建组建(我自己使用 cobra 觉得不怎么好用,而且文档也不清晰。。),统一入口在 cmd/kubectl/kubectl.go ,实际的处理逻辑在 pkg/kubectl/cmd/cmd.go 中 ... groups := templates.CommandGroups{ { Message: "Basic Commands (Beginner):", ... }, { Message: "Deploy Commands:", ... }, { Message: "Cluster Management Commands:", Commands: []*cobra.Command{ certificates.NewCmdCertificate(f, ioStreams), clusterinfo.NewCmdClusterInfo(f, ioStreams), top.NewCmdTop(f, ioStreams), drain.NewCmdCordon(f, ioStreams), drain.NewCmdUncordon(f, ioStreams), drain.NewCmdDrain(f, ioStreams), taint.NewCmdTaint(f, ioStreams), }, }, ... } groups.


沪ICP备19023445号-2号
友情链接