簡體   English   中英

在Kubernetes Pod中訪問Prodigy UI

[英]Access Prodigy UI in Kubernetes Pod

我正在嘗試創建用於使用Prodigy UI工具創建訓練數據集的服務。 我想使用在Azure雲中運行的Kubernetes群集來執行此操作。 我的Prodigy UI應該可以在0.0.0.0:8880上訪問(在容器上)。

因此,我創建了如下部署:

kind: Deployment
  apiVersion: apps/v1beta2
  metadata:
    name: prodigy-dply
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: prodigy_pod
    template:
      metadata:
        labels:
          app: prodigy_pod
      spec:
        containers:
        - name: prodigy-sentiment
          image: bdsdev.azurecr.io/prodigy
          imagePullPolicy: IfNotPresent
          command: ["/bin/bash"]
          args: ["-c", "prodigy spacy textapi -F training_recipe.py"]
          ports:
          - name: prodigyport
            containerPort: 8880

這應該(這里是可操作的單詞)在別名為prodigyport的Pod級別暴露8880端口

之后,我創建了如下Service

kind: Service
apiVersion: v1
metadata:
  name: prodigy-service
spec:
  type: LoadBalancer
  selector:
    app: prodigy_pod
  ports:
    - protocol: TCP
      port: 8000
      targetPort: prodigyport

此時,當我運行關聯的kubectl create -f <deployment>.yamlkubectl create -f <service>.yaml ,我獲得了ExternalIP和關聯的端口: 10.*.*.*:34672

這是瀏覽器無法達到的,並且我對我的瀏覽器如何與此Service,Pod和基礎Container交互有誤解。 我在這里想念什么?

注意:我願意接受kubernetes可能不是這里的工具,它似乎很誘人,因為易於擴展和更新映像以反映最新的配置

您可以使用以下命令找到公共IP地址(LoadBalancer Ingress):

kubectl get service azure-vote-front

結果如下:

root@k8s-master-79E9CFFD-0:~# kubectl get service azure

NAME               CLUSTER-IP     EXTERNAL-IP      PORT(S)          AGE
azure              10.0.136.182   52.224.219.190   8080:31419/TCP   10m

然后,您可以使用外部IP和端口進行瀏覽,如下所示:

curl 52.224.219.190:8080

您還可以通過Azure門戶找到Load Balaner規則: 在此處輸入圖片說明

希望這可以幫助。

您可以通過kubectl獲取服務信息來找到為您的服務創建的IP地址:

kubectl describe services prodigy-service

IP地址在LoadBalancer入口旁邊列出。

另外,您可以使用端口轉發來訪問您的Pod:

kubectl port-forward <pod_name> 8880:8880

之后,您可以在瀏覽器中通過localhost:8880訪問Prodigy UI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM