在头盔图表中执行命令

时间:2020-07-24 14:03:10

标签: kubernetes cassandra kubernetes-helm cql cqlsh

我有一个Cassandra的头盔图表,它运行良好,我能够连接到它并运行Get-CimInstance -ClassName Win32_Product | Where-Object {$_.Vendor -like 'Microsoft*'} 命令。
我想在图表中添加一个头盔挂钩。我已经设法做到了,但是,我无法在容器中执行cqlsh。这是我想在cqlsh阶段执行的Kubernetes任务。

post-install

但是,找不到cqlsh命令。

通常来说,我不得不重复使用在Helm Chart中定义的相同容器似乎很奇怪。我在做错什么吗?

1 个答案:

答案 0 :(得分:0)

您的吊舱/容器那时可能没有打开。在生命周期后期使用它。

  spec:
    containers:
    - name: cqlsh-cmd
      image: <cassandra-image>
      lifecycle:
        postStart:
          exec:
            command: ["/bin/sh", "-c", "
                set -x\n
                while true;\n
                do\n
                  echo 'looking cassandra...,'\n
                  timeout 1 bash -c 'cat < /dev/null > /dev/tcp/localhost/9042'\n
                  exitCode=$?\n

                  if [ $exitCode = 0 ]; then\n
                    cqlsh /** your command **/ \n
                    break;\n
                  fi\n
                  sleep 1s\n
                done\n
              "]