を使用して kubernetes クラスターを作成しました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>
ます。