[英]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>.yaml
和kubectl 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.