如果我像這樣命令式地創建一個 pod, --port 選項有什么作用?
kubectl run mypod --image=nginx --port 9090
默認情況下,nginx 應用程式將偵聽埠 80。為什么我們需要這個選項?檔案說
--port='':此容器公開的埠。
如果使用 暴露kubectl expose pod mypod --port 9090,它將在埠 9090 和目標埠 9090 上創建服務。但在上述情況下,它既不創建服務
uj5u.com熱心網友回復:
...nginx application by default is going to listen on port 80. Why do we need this option?
--port 80如果您在規范中撰寫,則使用的含義相同:
...
containers:
- name: ...
image: nginx
ports:
- containerPort: 80
...
它不做任何埠映射,但通知這個容器將暴露埠 80。
...in the above case it neither creates a service
您可以添加--expose到kubectl run這將創建一個服務,在這種情況下是相同的,如果你在寫規格:
kind: Service
...
spec:
ports:
- port: 80
targetPort: 80
...
注意你只能指定一個埠--port,即使你寫了多個--port,也只有最后一個會生效。
uj5u.com熱心網友回復:
看起來這主要是資訊性的,對容器/pod沒有任何影響。
https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#ports
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/407249.html
標籤:
