如果我像这样强制创建一个pod,--port选项会做什么?kubectl run mypod --image=nginx --port 9090
nginx应用程序默认监听端口80。为什么我们需要这个选项?
--port ='':此容器公开的端口。
如果使用kubectl expose pod mypod --port 9090
公开它,它将在端口9090和目标端口9090上创建服务。但在上述情况下,它既不创建服务
如果我像这样强制创建一个pod,--port选项会做什么?kubectl run mypod --image=nginx --port 9090
nginx应用程序默认监听端口80。为什么我们需要这个选项?
--port ='':此容器公开的端口。
如果使用kubectl expose pod mypod --port 9090
公开它,它将在端口9090和目标端口9090上创建服务。但在上述情况下,它既不创建服务
2条答案
按热度按时间wpx232ag1#
...nginx application by default is going to listen on port 80. Why do we need this option?
使用
--port 80
的意思与在spec中写入的意思相同:它不做任何端口Map,但通知这个容器将公开端口80。
...in the above case it neither creates a service
您可以将
--expose
添加到kubectl run
,这将创建一个服务,在这种情况下,如果您在spec中编写以下内容,则情况相同:请注意,您只能使用
--port
指定一个端口,即使您写入多个--port
,也只有最后一个会生效。tkclm6bt2#
当端口选项已经被给予吊舱时,
当--port选项既未在pod中定义,也未在expose中定义时,将出现错误。
https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#ports