0

当我使用来自 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
4

1 回答 1

0

我要检查/验证两件快速的事情:

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

-戴夫

于 2021-10-14T11:52:26.273 回答