我正在使用aks服务。我在Azure容器注册表中有一个Tensorflow服务映像。现在,当我部署服务时,公共服务终结点不可访问,也无法ping通。
我的图像在端口8501处暴露,因此我将其用作Yaml中的目标端口。
这是我用于此部署的yaml文件。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-model-gpu
spec:
replicas: 1
template:
metadata:
labels:
app: my-model-gpu
spec:
containers:
- name: my-model-gpu
image: dsdemocr.azurecr.io/work-place-safety-gpu
ports:
- containerPort: 8501
resources:
limits:
nvidia.com/gpu: 1
imagePullSecrets:
- name: registrykey
---
apiVersion: v1
kind: Service
metadata:
name: my-model-gpu
spec:
type: LoadBalancer
ports:
- port: 8501
protocol: "TCP"
targetPort: 8501
selector:
app: my-model-gpu
以下是我的svc描述:kubectl describe svc my-model-gpu
Name: my-model-gpu
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"my-model-gpu","namespace":"default"},"spec":{"ports":[{"port":850...
Selector: app=my-model-gpu
Type: LoadBalancer
IP: 10.0.244.106
LoadBalancer Ingress: 52.183.17.101
Port: <unset> 8501/TCP
TargetPort: 8501/TCP
NodePort: <unset> 31546/TCP
Endpoints: 10.244.0.22:8501
Session Affinity: None
External Traffic Policy: Cluster
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal EnsuringLoadBalancer 10m service-controller Ensuring load balancer
Normal EnsuredLoadBalancer 9m8s service-controller Ensured load balancer
好像我在端口映射上犯了一些错误。非常感谢您的帮助。
答案 0 :(得分:0)
根据您提供的信息,具有负载均衡器类型的服务没有问题。我认为,可能的原因全都与您的申请有关,我将在下面列出:
<h2 class="border-heading">
Photo Galleries
</h2>
,也许您没有为服务主体分配足够的权限来提取图像。这个原因不太可能,但我也在这里列出。希望这对您有所帮助。
答案 1 :(得分:0)
请遵循社区提供的建议:
在研究此主题时,我建议看一下这些Azure特定信息:
如果Kubernetes服务清单的loadBalancerIP属性中定义的静态IP地址不存在,或者尚未在节点资源组中创建,并且未配置其他委托,则负载均衡器服务创建失败。
有一个非常相似的case on github。
If using Advanced networking it creates the vNet in the same resource group as the AKS service by default.
注意:
当前仅支持基本IP SKU。支持标准IP资源SKU的工作正在进行中。有关更多信息,请see IP address types and allocation methods in Azure。
其他资源:
Azure-LoadBalnacer相关:
希望获得帮助。
答案 2 :(得分:0)
我尝试访问的容器在8501上没有打开端口,一旦我修复它,它就可以正常工作。
答案 3 :(得分:0)
我认为您需要访问52.183.17.101:8501
上的应用程序
因为您没有定义将流量路由到负载均衡器的80端口。 默认情况下,它将创建监听8501的负载均衡器。