忽略Kubernetes命令参数
从linux终端运行特定命令时,命令如下:忽略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
/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,因为我目前没有它。我明天会与您联系。再次感谢您!