对于我的项目,我必须使用一系列命令连接到 Google Cloud Shell 中的 postgres 数据库:
gcloud config set project <project-name> gcloud auth activate-service-account <keyname>@<project-name>.iam.gserviceaccount.com --key-file=<filename>.json gcloud container clusters get-credentials banting --region <region> --project <project> kubectl get pods -n <node> kubectl exec -it <pod-name> -n <node> bash apt-get update apt install postgresql postgresql-contrib psql -h <hostname> -p <port> -d <database> -U <userId>
`
我是这方面的初学者,到目前为止只是运行通过复制粘贴提供给我的脚本。但为了让事情变得更简单,我在 Shell 编辑器中创建了一个 .bat 文件,其中包含上述所有命令,并尝试使用bash <filename>
但是一旦kubectl exec -it <pod-name> -n <node> bash命令运行并像下面这样打开新目录,其余的命令就不会运行。
Defaulted container "<container>" out of: <node>, istio-proxy, istio-init (init) root@<pod-name>:/#
那么如何让 shell 运行 .bat 文件中的其余脚本:
apt-get update apt install postgresql postgresql-contrib psql -h <hostname> -p <port> -d <database> -U <userId>
`