我正在尝试将我的 docker 映像从 ACR 部署到 AKS。 pods 正在正确创建,但通过外部 IP 获取 ERR_CONNECTION_TIMED_OUT

I am trying to deploy my docker image from ACR to AKS. The pods are getting created properly but getting ERR_CONNECTION_TIMED_OUT through external IP

当我使用来自 docker 的标准映像(如 nginx)并将其 containerPort 设置为 nginx 的默认端口(即 80)时,相同的部署和服务 yaml 文件正常工作,但是当我将其容器端口更改为8080 然后我也遇到了同样的问题。

我的deployment.yaml文件-

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-test-deployment
  labels:
    app: my-test-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-test-app
  template:
    metadata:
      labels:
        app: my-test-app
    spec:
      containers:
      - name: my-test-container
        image: javapoccr.azurecr.io/sushant-saurav/my-nest-app-with-docker
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 8080
      imagePullSecrets:
      - name: acr-details

我的service.yaml-

apiVersion: v1
kind: Service
metadata:
  name: my-test-service
  labels:
    app: my-test-app
spec:
  selector:
    app: my-test-app
  type: LoadBalancer
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080

有两件事我想做 check/verify:

  1. 测试应用是否配置为监听 8080? containerPort/targetPort 应与应用配置的侦听内容相匹配。
  2. 确保您拥有最新的图像。没有标签,你使用的是 :latest。但是如果你更新它,imagePullPolicy 将不会拉取新图像,如果它有一个旧图像。我建议将 imagePullPolicy 更改为 Always

-戴夫