我使用kubeadm
. 服务被声明为ClusterIP
. 目前我正在尝试将我的应用程序部署为loadbalancer
Metallb 类型的入口,但我遇到了一些问题。如果我将我的应用程序部署为入口,则找不到一些 jv 和 css 组件。将应用程序作为服务运行没有问题,但在我使用 Ingress 时出现了问题。它是一个 ASP.NET Core 应用程序
我的入口来源:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
name: taco-ingress
spec:
rules:
- host: tasty.taco.com
http:
paths:
- path: /web1
pathType: Prefix
backend:
service:
name: web1
port:
number: 80
- path: /web2
pathType: Prefix
backend:
service:
name: web2
port:
number: 80
我的部署源:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web1
labels:
app: taco
taco: web1
spec:
replicas: 2
selector:
matchLabels:
app: taco
task: web1
template:
metadata:
labels:
app: taco
task: web1
version: v0.0.1
spec:
containers:
- name: taco
image: yatesu0x00/webapplication1:ingress-v1
ports:
- containerPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web2
labels:
app: taco
taco: web2
spec:
replicas: 2
selector:
matchLabels:
app: taco
task: web2
template:
metadata:
labels:
app: taco
task: web2
version: v0.0.1
spec:
containers:
- name: taco
image: yatesu0x00/webapplication2:ingress-v1
ports:
- containerPort: 80
我的服务来源:
---
apiVersion: v1
kind: Service
metadata:
name: web1
spec:
ports:
- targetPort: 80
port: 80
selector:
app: taco
task: web1
---
apiVersion: v1
kind: Service
metadata:
name: web2
spec:
ports:
- targetPort: 80
port: 80
selector:
app: taco
task: web2
应用程序的 html 文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Epic Website - (⌐■_■)</title>
<link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="/css/site.css" />
</head>
<body>
<header>
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container">
<a class="navbar-brand" href="/">Home</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a class="navbar-brand" href="/Home2">Home2</a>
</li>
<li class="nav-item">
<a class="navbar-brand" href="/Home/ItWorks">Click me!</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div class="container">
<main role="main" class="pb-3">
<h2>Want this taco?</h2>
<pre>
{\__/}
( ●.●)
( >
</pre>
</main>
</div>
<footer class="border-top footer text-muted">
<div class="container">
© 2020 - <a href="/Home/Privacy">Privacy</a>
</div>
</footer>
<script src="/lib/jquery/dist/jquery.min.js"></script>
<script src="/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/darkmode-js@1.5.7/lib/darkmode-js.min.js"></script>
<script src="/js/site.js?v=8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U"></script>
</body>
</html>
如果我在浏览器中打开控制台,我可以看到404 not found
所有 type 元素都有<script>
。