当我通过节点端口 i 访问应用程序时,更改未被拾取

Changes are not picked up when I access application through Node Port i

我正在使用 minikube

我的部署文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: phpdeployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: phpapp
  template:
    metadata:
      labels:
        app: phpapp
    spec:
      containers:
      - image: rajendar38/myhtmlapp:latest
        name: php
        ports:
        - containerPort: 80

ingress
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
spec:
  backend:
    serviceName: php-service
    servicePort: 80

this is my service
apiVersion: v1
kind: Service
metadata:
  name: php-service
spec:
  selector:
    app: phpapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 31000
  type: NodePort

简单 php 我构建的应用程序 docker 我能够访问的图像 两种方式

之后我:

但是通过节点端口方式我可以访问旧的应用程序。但通过 Ingress 方式,我可以获取访问更改

请看类似

你要知道容器端口就是容器监听的端口。服务端口是kubernetes服务暴露在集群内部ip上,映射到容器端口的端口。 nodeport是宿主机暴露的端口,映射到kubernetes服务。

NodePort 允许您通过在服务类型中指定该值来公开服务。另一方面,Ingress 是对您的服务完全独立的资源。您声明、创建和销毁它与您的服务分开。 感谢服务类型 NodePort,您可以公开两个端口 (31000, 80)。

您的配置文件应该类似于:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: phpdeployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: phpapp
  template:
    metadata:
      labels:
        app: phpapp
    spec:
      containers:
      - image: rajendar38/myhtmlapp:latest
        name: php
        command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
        ports:
        - containerPort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
        - path: /example
          backend:
            serviceName: php
            servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: php
spec:
  selector:
    app: php
  ports:
    - port: 31000
      targetPort: 80
      protocol: TCP
      name:
  type: NodePort

然后公开部署:

$ kubectl expose deployment phpdeployment --type=NodePort

官方文档:kubernetes-service-nodeport, kubernestes-ingress, kubernetes-deployment-exposing.

这是浏览器缓存问题,一旦使用私人会话就可以正常工作