[英]MicroK8S deploy webserver
我正在玩 microk8s,我正在嘗試部署 nextcloud 以更熟悉它。 然而,nextcloud 的部署進展順利,我在為此設置入口時遇到了一些問題。 也許你可以看看我的清單和入口資源,並幫助我找到問題所在。
這是部署文件:
apiVersion: v1
kind: Service
metadata:
namespace: nextcloud
name: nextcloud-service
labels:
run: nextcloud-app
spec:
ports:
- port: 80
targetPort: 8080
selector:
run: nextcloud-app
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: nextcloud
name: nextcloud-deployment
labels:
app: nextcloud-app
spec:
replicas: 1
selector:
matchLabels:
app: nextcloud-app
template:
metadata:
labels:
app: nextcloud-app
spec:
containers:
- image: nextcloud:latest
name: nextcloud
env:
- name: NEXTCLOUD_ADMIN_USER
valueFrom:
configMapKeyRef:
name: nextcloud-configuration
key: nextcloud_admin_user
- name: NEXTCLOUD_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: nextcloud-secret
key: admin_password
ports:
- containerPort: 8080
name: http
volumeMounts:
- name: nextcloud-pv
mountPath: /var/www/html/data
volumes:
- name: nextcloud-pv
persistentVolumeClaim:
claimName: nextcloud-pv-claim
這是入口資源文件:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nextcloud-ingress
namespace: nextcloud
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /nextcloud
pathType: Prefix
backend:
service:
name: nextcloud-service
port:
number: 80
我的 microk8s 上啟用了以下插件:
現在我想向您展示一些 k8s 輸出。
kubectl -n nextcloud 描述 svc nextcloud-service
Name: nextcloud-service
Namespace: nextcloud
Labels: run=nextcloud-app
Annotations: <none>
Selector: run=nextcloud-app
Type: ClusterIP
IP: 10.152.183.189
Port: <unset> 80/TCP
TargetPort: 8080/TCP
Endpoints: <none>
Session Affinity: None
Events: <none>
kubectl -n nextcloud 描述入口 nextcloud-ingress
Name: nextcloud-ingress
Namespace: nextcloud
Address: 192.168.60.2
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
*
/nextcloud nextcloud-service:80 <none>)
Annotations: nginx.ingress.kubernetes.io/rewrite-target: /
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CREATE 11m nginx-ingress-controller Ingress nextcloud/nextcloud-ingress
Normal CREATE 11m nginx-ingress-controller Ingress nextcloud/nextcloud-ingress
Normal UPDATE 63s (x22 over 11m) nginx-ingress-controller Ingress nextcloud/nextcloud-ingress
Normal UPDATE 63s (x22 over 11m) nginx-ingress-controller Ingress nextcloud/nextcloud-ingress
kubectl -n 入口日志 pod/nginx-ingress-microk8s-controller-k2q6c
I1024 19:56:37.955953 6 status.go:275] updating Ingress nextcloud/nextcloud-ingress status from [{192.168.60.2 }] to [{127.0.0.1 }]
W1024 19:56:37.963861 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 19:56:37.964276 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192287", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
I1024 19:56:39.491960 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192295", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
W1024 19:56:41.297313 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 19:57:37.955734 6 status.go:275] updating Ingress nextcloud/nextcloud-ingress status from [{192.168.60.2 }] to [{127.0.0.1 }]
W1024 19:57:37.969214 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 19:57:37.969711 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192441", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
I1024 19:57:39.492467 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192446", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
W1024 19:57:41.302640 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 19:58:37.956198 6 status.go:275] updating Ingress nextcloud/nextcloud-ingress status from [{192.168.60.2 }] to [{127.0.0.1 }]
W1024 19:58:37.964655 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 19:58:37.965017 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192592", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
I1024 19:58:39.493436 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192600", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
W1024 19:58:41.298097 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 19:59:37.955569 6 status.go:275] updating Ingress nextcloud/nextcloud-ingress status from [{192.168.60.2 }] to [{127.0.0.1 }]
W1024 19:59:37.964975 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 19:59:37.965045 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192746", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
I1024 19:59:39.491840 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192750", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
W1024 19:59:41.298496 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 20:00:37.956061 6 status.go:275] updating Ingress nextcloud/nextcloud-ingress status from [{192.168.60.2 }] to [{127.0.0.1 }]
W1024 20:00:37.965139 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 20:00:37.965212 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192896", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
I1024 20:00:39.489924 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192904", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
W1024 20:00:41.298762 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 20:01:37.955481 6 status.go:275] updating Ingress nextcloud/nextcloud-ingress status from [{192.168.60.2 }] to [{127.0.0.1 }]
W1024 20:01:37.963612 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 20:01:37.963681 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"193049", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
I1024 20:01:39.490523 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"193058", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
W1024 20:01:41.297141 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
使用 503 調用http://k8s.ip/nextcloud結果。知道我缺少什么嗎?
正如我在評論中發布的那樣:
您收到 503 代碼是因為您的
Service
->.spec.selector
(run: nextcloud-app
) 和您的Deployment
->.spec.selector.matchLabels
(app: nextcloud-app
) 不app: nextcloud-app
。 你需要讓它們都一樣。 您也可以在描述服務(無端點)時看到它。
此特定設置中的問題是Deployment
的matchLabel
與Service
selector
之間存在不matchLabel
:
Deployment
spec:
replicas: 1
selector:
matchLabels:
app: nextcloud-app # <-- HERE!
Service
:
spec:
ports:
- port: 80
targetPort: 8080
selector:
run: nextcloud-app # <-- HERE!
要解決這個問題,您需要讓它們都匹配(例如):
app: nextcloud-app
Deployment
和Service
中的app: nextcloud-app
識別不匹配選擇器的一些方法(通過使用帖子中的示例):
YAML
定義,如上所示$ kubectl -n nextcloud describe svc nextcloud-service
Name: nextcloud-service
Namespace: nextcloud
Labels: run=nextcloud-app
Annotations: <none>
Selector: run=nextcloud-app
Type: ClusterIP
IP: 10.152.183.189
Port: <unset> 80/TCP
TargetPort: 8080/TCP
Endpoints: <none> # <-- HERE
Session Affinity: None
Events: <none>
上面的describe
表明服務已創建,但沒有endpoints
( Pods
) 可將流量發送到。
沒有端點也可能與
Pod
未Ready
或未處於Healthy
狀態有關
$ kubectl get endpoint -n nextcloud
NAME ENDPOINTS AGE
nextcloud-service <none> 1m
Ingress
控制器的日志(發布在問題中):I1024 19:56:37.955953 6 status.go:275] updating Ingress nextcloud/nextcloud-ingress status from [{192.168.60.2 }] to [{127.0.0.1 }]
W1024 19:56:37.963861 6 controller.go:909] Service "nextcloud/nextcloud-service" does not have any active Endpoint.
I1024 19:56:37.964276 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"nextcloud", Name:"nextcloud-ingress", UID:"913dcf73-e5df-4ad9-a23b-22d6ad8b83a7", APIVersion:"networking.k8s.io/v1beta1", ResourceVersion:"192287", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress nextcloud/nextcloud-ingress
<--REDACTED--> Service "nextcloud/nextcloud-service" does not have any active Endpoint.
我鼓勵您查看 nextcloud 的 Helm 圖表:
其他資源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.