go:随机终止 kubernetes 集群中的 pod

标签 go ssh terminal kubernetes cluster-computing

我想随机关闭 kubernetes 集群中的 pod。我已经编写了代码,可以登录服务器并运行代码。

现在我需要读取集群中所有可用的 pod,随机选择一些并终止它们。 (我是新来的)

你能帮我做这个吗?

这就是我在集群/服务器上运行命令的方式 cli.ExecuteCmd("kubectl get pods")

// Use one connection per command.
// Catch in the client when required.
func (cli *SSHClient)ExecuteCmd(command string){
  conn, err := ssh.Dial("tcp", cli.Hostname+":22", cli.Config)
  if err!=nil {
    logrus.Infof("%s@%s", cli.Config.User, cli.Hostname)
    logrus.Info("Hint: Add you key to the ssh agent: 'ssh-add ~/.ssh/id_rsa'")
    logrus.Fatal(err)
  }
  session, _ := conn.NewSession()
  defer session.Close()
  var stdoutBuf bytes.Buffer
  session.Stdout = &stdoutBuf
  err = session.Run(command)
  if err != nil {
    logrus.Fatalf("Run failed:%v", err)
  }
  logrus.Infof(">%s", stdoutBuf.Bytes())
}

最佳答案

使用 k8s.io/client-go ( Github Link ) 客户端包列出 kubernetes pod,然后随机删除它们。

使用client.CoreV1().Pods()列出和删除 pod 的方法。

关于go:随机终止 kubernetes 集群中的 pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45051875/

相关文章:

git - 如何指定 `go get` 将使用哪个 ssh key

go - os.Open无法识别文件名变量,但是“硬编码”文件名​​可以

string - golang 默认情况下在字符串后添加空格?

python - 在远程服务器上运行基于 opencv 的 python 脚本,从我的 macbook 转发 ssh 给我一个错误

linux - 请调试 SSH 代理命令,它无法在 PuTTY 上使用多跳 SSH 连接远程服务器

git - 使用 ssh 到 github 获取 kex_exchange_identification 提示

cocoa - 从 Cocoa 应用程序调用终端命令

matlab - 为什么 matlab 会导致终端 std out 崩溃以及如何修复它?

go - 将 go 包安装到系统路径的正确方法是什么?

Vim:t_Co=256 和 term=xterm-256color 与 TMUX 的区别