我正在使用Minikube在本地计算机上使用Kubernetes,并且想在启动后(最好在Pods启动之前)在VM上运行命令。我可以使用minikube ssh
手动运行它,但这在每次重新启动后都会有些麻烦,并且很难包装在脚本中。
有一种简单的方法吗?
在我的情况下,命令是这样的,以便VM上的路径与主机上的路径匹配:
sudo mount --bind /hosthome/<user> /home/<user>
答案 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'