【发布时间】:2020-10-30 13:04:24
【问题描述】:
我在 macOS Catalina 10.15.4 上,我正在使用 minikube v1.11.0 和 kubernetes v1.18.3,两者从 brew 安装。 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.
似乎任何标志,无论是短的还是长的,都失败了,我不知道为什么它们不会失败。
【问题讨论】:
标签: bash docker kubernetes kubectl minikube