我正在嘗試將 Kubernetes 卷用于 Nginx,但遇到了一個問題。設定卷后,Nginx 無法提供 HTML 頁面。這次也嘗試了 PV 和 PVS 也得到了同樣的錯誤。
nginx.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
volumes:
- name: nginxhtml
# persistentVolumeClaim:
# claimName: pvc
hostPath:
path: /home/amjed/Documents/SPS/k8s/mongo/mnt
containers:
- name: nginx
image: nginx
volumeMounts:
- name: nginxhtml
mountPath: /usr/share/nginx/html
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 80
uj5u.com熱心網友回復:
首先,創建要掛載在 minikube 中的檔案夾:
dobrucki@minikube:~$ minikube ssh
Last login: Tue Jan 11 13:54:50 2022 from 192.168.49.1
docker@minikube:~$ ls -l
total 4
drwxr-xr-x 2 docker docker 4096 Jan 11 13:56 nginx-mount
這個檔案夾是映射到/usr/share/nginx/htmlPod 內部的,所以當你連接到你的服務時,你粘貼到這里的檔案會被顯示。確保您.html在該檔案夾中有一些檔案,否則您將收到 403 錯誤。對我來說,例子index.html是這樣的:
<html>
<head>
</head>
<body>
<h1>Hello World<h1>
</body>
</html>
您還需要securityContext fsGroup在您的部署清單中添加,以便/usr/share/nginx/html歸 nginx 用戶 (101 uid) 所有。
然后,使用以下命令應用 Deployment 和 LoadBalancer 資源:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
securityContext:
fsGroup: 101
volumes:
- name: nginxhtml
hostPath:
path: /home/docker/nginx-mount
containers:
- name: nginx
image: nginx
volumeMounts:
- name: nginxhtml
mountPath: /usr/share/nginx/html
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 80
之后,您可以檢查內容是否正確提供
dobrucki@minikube:~$ curl $(minikube service nginx-service --url)
<html>
<head>
</head>
<body>
<h1>Hello World<h1>
</body>
</html>
如果您有更多問題,請告訴我。
uj5u.com熱心網友回復:
- 將副本數減少到 1
- 驗證 /home/amjed/Documents/SPS/k8s/mongo/mnt 位置是否有效并且可以從 pod 訪問
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/409324.html
標籤:
