我们已经为下面的部署创建了服务和入口文件。 但是,当我们尝试通过入口控制器访问应用程序时,我们发现无法将静态文件(例如JS和CSS)加载到网站上。除此之外,当我们尝试使用NodePort时,我们已经看到该应用程序已完美加载。
service.yaml:
---
apiVersion: v1
kind: Service
metadata:
name: karel-service-1
labels:
app: karel-deployment-1
spec:
selector:
app: karel-deployment-1
type: NodePort
ports:
- port: 3000
targetPort: 3000
nodePort:
ingress.yaml:
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: karel-ingress-1
annotations:
nginx.ingress.kubernetes.io/add-base-url: 'true'
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: "/"
spec:
rules:
- host: www.kareldeployment.com
http:
paths:
- path: "/1"
backend:
serviceName: karel-service-1
servicePort: 3000
如何使用入口控制器访问网站的所有静态内容?
答案 0 :(得分:1)
入口控制器似乎在端口80上侦听(这就是加载HTML页面的原因),但是它们具有指向端口3000的链接(这就是所有与NodePort一起工作的原因)。换句话说,我怀疑您必须修改页面以不使用硬编码端口。