gpt4 book ai didi

bash - kubectl exec 适用于单个命令,但我无法进入 bash shell

转载 作者:行者123 更新时间:2023-12-02 11:34:20 24 4
gpt4 key购买 nike

我在 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.
似乎任何标志,无论是短的还是长的,都失败了,我不知道为什么它们不会。

最佳答案

minikube kubectl需要 --当您想将它与参数一起使用时,在命令之后:

$ minikube kubectl -- exec --stdin --tty --namespace=tools test-pod -- sh
您也可以使用普通 kubectl如果只是确保您的 ~/.kube/config指向正确的 minikube 上下文/集群。通常,您从 shell 运行的任何 minikube 命令都会使其将上下文更改为您的 minikube 集群。即 minikube ssh然后只需使用 kubectl
$ kubectl exec --stdin --tty --namespace=tools test-pod -- sh

关于bash - kubectl exec 适用于单个命令,但我无法进入 bash shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62823266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com