忽略Kubernetes命令参数

忽略Kubernetes命令参数,kubernetes,docker-compose,azure-aks,kubernetes-pod,Kubernetes,Docker Compose,Azure Aks,Kubernetes Pod,从linux终端运行特定命令时,命令如下: /opt/front/arena/sbin/ads_start ads -db_server vmazfassql01 -db_name Test1 在常规docker compose yaml文件中,我们将其定义如下: ENTRYPOINT ["/opt/front/arena/sbin/ads_start", "ads" ] command: ["-db_server vwmazfassql0

从linux终端运行特定命令时,命令如下:

/opt/front/arena/sbin/ads_start  ads  -db_server vmazfassql01 -db_name Test1
在常规docker compose yaml文件中,我们将其定义如下:

ENTRYPOINT ["/opt/front/arena/sbin/ads_start", "ads" ]
command: ["-db_server vwmazfassql01","-db_name Test1"]
然后我试着把它转换成Kubernetes

command: ["/opt/front/arena/sbin/ads_start","ads"]
args: ["-db_server vwmazfassql01","-db_name Test1"]
或者没有参数的引号

command: ["/opt/front/arena/sbin/ads_start","ads"]
args: [-db_server vwmazfassql01,-db_name Test1]
但这两种情况我都有错误:

Unknown parameter value '-db_server vwmazfassql01'
Unknown parameter value '-db_name Test1'
然后,我尝试从参数中删除破折号,但这些值似乎被忽略而没有设置。在初始化值过程中,在容器启动期间,这些属性似乎具有默认值,例如db_name:“ads”。至少在初始化期间,日志中是这样打印出来的

我尝试了更多的可能性: 要在命令中定义所有选项,请执行以下操作:

command:
  - /opt/front/arena/sbin/ads_start
  - ads
  - db_server vwmazfassql01
  - db_name Test1
要以稍微不同的方式定义它们:

command: ["/opt/front/arena/sbin/ads_start","ads"]
args:
  - db_server vwmazfassql01
  - db_name Test1


command: ["/opt/front/arena/sbin/ads_start","ads"]
args: [db_server vwmazfassql01,db_name Test1]
   
他们再次被忽视,而不是被设置。
我做错什么了吗?我怎样才能解决这个问题?谢谢

我将尝试按照文档示例()分离参数

比如:

command: ["/opt/front/arena/sbin/ads_start", "ads"]
args: ["-db_server", "vwmazfassql01", "-db_name", "Test1"]
或者,它甚至可以像这样工作,看起来更干净:

command: ["/opt/front/arena/sbin/ads_start"]
args: ["ads", "-db_server", "vwmazfassql01", "-db_name", "Test1"]

这遵循了从代码运行外部命令的一般方法(python子流程模块就是一个随机示例),您可以在其中指定命令的每一部分,这意味着它自己的意义。

bravo!您是真正的K8S专家:-)这解决了此问题并设置了参数。我用第一种方法做!如果我可以再问你一件事-我还有一个参数
-unicode
,我没有提到,但这也是需要的,只有不能设置的,当我尝试这样设置时,会再次显示未知错误:
args:[“-unicode”,“1”,“-db_服务器”,“vwmazfassql01”…
或类似的
args:[“-unicode”,“-db_server”,“vwmazfassql01”…
你也能帮我解决这个问题吗?感谢未知参数错误的Sagain?与以前相同的错误?如果你尝试从linux终端运行带有该参数的命令,它可以正常工作吗?是的,就是那个。这个属性只是一个特定的属性,因为它没有“值”,只有“key”值,即“unicode”,并以这种方式为应用程序启用unicode。使用linux终端,它可以工作。您是否知道可能会出现什么问题?如果它只有一个键,那么第一个示例(添加“1”)在我看来是错误的,但第二个示例(您只需在args中添加“-unicode”)(按照应用程序期望的正确顺序)从理论上讲,如果将命令和所有参数连接在一起创建了您在linux控制台上运行的同一个命令,那么应该可以工作。它是否与docker compose一起工作?我必须仔细检查docker compose,因为我目前没有它。我明天会与您联系。再次感谢您!