我在macOS Catalina 10.15.4上,并且我使用的是从brew安装的minikube v1.11.0和kubernetes v1.18.3。Minikube使用docker引擎初始化。
初始化命令的设置如下:
containers:
- name: database
image: "mysql:5.6"
imagePullPolicy: IfNotPresent
env:
- name: MYSQL_ROOT_PASSWORD
value: 12345
- name: MYSQL_USER
value: user
- name: MYSQL_PASSWORD
value: password
- name: MYSQL_DATABASE
value: db
我正在尝试为我正在运行的kubectl容器之一打开bash脚本。从在线研究看来,这应该是将在我的终端中打开bash窗口的命令:
minikube kubectl exec -it --namespace=tools test-pod -- bash
但是,当我运行它时,会得到以下回溯:
Error: unknown shorthand flag: 'i' in -it See 'minikube kubectl --help' for usage.
似乎不希望我在命令中使用任何参数。是否缺少我想要的东西,或者我正在尝试使用不推荐使用的命令?
注意:我可以运行 exec
,但不能打开bash脚本。例如,我能够运行以下命令:
minikube kubectl exec test-pod -- ls /
它输出以下内容:
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl kubectl exec [POD] -- [COMMAND] instead.
bin
boot
dev
docker-entrypoint-initdb.d
entrypoint.sh
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
编辑:我尝试了以下命令:
minikube kubectl exec --stdin --tty --namespace=tools test-pod -- sh
我得到以下回溯:
Error: unknown flag: --stdin
See 'minikube kubectl --help' for usage.
似乎所有标记(无论长短)都在失败,而且我无法弄清楚为什么会失败。
minikube kubectl
需要--
的命令后,当你想带参数的使用:
$ minikube kubectl -- exec --stdin --tty --namespace=tools test-pod -- sh
您也可以使用纯色 kubectl
如果只是确保您~/.kube/config
所指向的是正确的minikube上下文/群集。通常,从外壳程序运行的任何minikube命令都会使它将上下文更改为您的minikube集群。即minikube ssh
然后使用 kubectl
$ kubectl exec --stdin --tty --namespace=tools test-pod -- sh
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句