如何使用 kubernetes YAML 清單部署 docker 容器並進行連接埠映射/轉發

如何使用 kubernetes YAML 清單部署 docker 容器並進行連接埠映射/轉發

請幫助我將以下 docker 命令轉換為 Kubernetes YAML 檔案以及連接埠映射/轉送到 docker 容器

 # docker run -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 14268:14268 jaegertracing/all-in-one:latest

我嘗試了以下配置:

在此輸入影像描述

但沒有得到任何結果。

我需要這裡的專家告訴我上述部署文件是否不正確,如果是,我可以在這裡進行哪些可能的更改以獲得結果。我嘗試了其他幾種組合,但沒有得到任何結果。

注意:容器已部署,但連接埠對映/轉送不起作用。這就是我陷入困境並尋求幫助的地方。

答案1

如果我們指定 NodePort 服務,Kubernetes 將在每個節點上指派一個連接埠。建立後,所選的 NodePort 將在服務規格中可見。或者,可以在建立服務時在規格中指定要用作 NodePort 的特定連接埠。如果未指定特定的 NodePort,則會從 Kubernetes 叢集上配置的範圍(預設:30000-32767)中隨機選擇一個連接埠。

在 Kubernetes 中,您可以使用 # port label 定義連接埠。此標籤位於部署中的連接埠配置下。根據配置,您可以簡單地定義您想要的任意數量的連接埠。以下範例顯示如何定義兩個連接埠。

apiVersion: v1 
kind: Service
 Metadata:
      name: my-service 
Spec:
  selector: 
     app: MyApp 
  Ports:
    - name: http
      protocol: TCP
      port: 80 
      targetPort: 9376 
    - name: https
      protocol: TCP
      port: 443 
      targetPort: 9377

若要將連接埠轉送至本機,請執行下列命令。

 kubectl port-forward <pod-name> <locahost-port>:<pod-port>

有關更多信息,請參閱以下鏈接Docker容器連接埠轉發節點連接埠

相關內容