kubectl expose
指令用於將 Kubernetes 資源(如 Pod、ReplicationController、Service、Deployment 等)暴露為一個新的 Service。這個指令可以幫助你快速創建一個 Service,從而使外部流量能夠訪問你的應用程式。(ClusterIP)
基本用法
例如:
這會創建一個 Service,將外部的 80 埠流量轉發到
my-deployment
的 8080 埠。常見參數
-port
:指定 Service 的埠號。
-target-port
:指定目標容器的埠號。
-type
:指定 Service 的類型。常見的類型有ClusterIP
、NodePort
、LoadBalancer
和ExternalName
。
-name
:指定 Service 的名稱。
-protocol
:指定 Service 的協議。常見的協議有TCP
和UDP
。
-selector
:指定標籤選擇器,用於選擇要暴露的 Pod。
範例
- 將一個 Pod 暴露為一個 ClusterIP Service:
- 將一個 Deployment 暴露為一個 NodePort Service:
- 將一個 Service 暴露為一個 LoadBalancer:
- 使用標籤選擇器將一組 Pod 暴露為一個 Service:
- 指定 Service 名稱: