在Minikube启动时运行命令

时间:2018-09-13 08:12:33

标签: kubernetes minikube

我正在使用Minikube在本地计算机上使用Kubernetes,并且想在启动后(最好在Pods启动之前)在VM上运行命令。我可以使用minikube ssh手动运行它,但这在每次重新启动后都会有些麻烦,并且很难包装在脚本中。

有一种简单的方法吗?

在我的情况下,命令是这样的,以便VM上的路径与主机上的路径匹配:

sudo mount --bind /hosthome/<user> /home/<user>

2 个答案:

答案 0 :(得分:3)

也许可以传递给minikube start的标志在您的情况下会很有用:

  --mount                          This will start the mount daemon and automatically mount files into minikube
  --mount-string string            The argument to pass the minikube mount command on start (default "/home/user:/minikube-host")

编辑: 也许您可以编写启动minikube的脚本,例如:

minikube start && ssh -t -i ~/.minikube/machines/minikube/id_rsa docker@$(minikube ip) "sudo mount --bind /hosthome/<user> /home/<user>"

将在启动后启动minikube并使用SSH发出bind命令

答案 1 :(得分:0)

如果需要在minikube的每个启动/停止上运行命令,则可以将其放在脚本/var/lib/boot2docker/bootlocal.sh中,该脚本将在每个VM启动时运行并保持不变。 因此,为了将命令放入bootlocal.sh,请从主机上运行:

minikube ssh 'echo "sudo mount --bind /hosthome/<user> /home/<user>" | sudo tee -a /var/lib/boot2docker/bootlocal.sh'