响应kubernetes部署,端口80仅适用

问题描述

我正在学习kubernetes的工作原理,并且已经部署了一个基本的React应用(使用create-react-app)。

在我的yaml文件中,设置了 containerPort:80 ,然后使用了以端口80为目标的NodePort服务。一切正常。

但是。为什么仅在端口80上起作用?我试过containerPort 3000,不起作用。也不是8080等。

端口80有什么特别之处吗?为什么仅在使用该端口时才起作用?

以下是我的Yaml文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      name: my-app
  template:
    metadata:
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: <my repo>/my-app
        ports:
            - containerPort: 80
      restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  name: my-app
  namespace: default
spec:
  type: NodePort
  selector:
    name: my-app
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
      nodePort: 30001

解决方法

我想basic react app (using create-react-app)在80端口上服务。

您可以在index.jsnpm start上进行检查。 (我不擅长React.js)

containerPort代表publishing/exposing port

因此,当您尝试发布3000端口时,没有任何服务,但是您的docker image(容器)正在80端口上提供内容

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...