我正在玩microk8,并且正在尝试部署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
在我的microk8上启用了以下插件:
现在,我想向您展示一些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.
呼叫http://k8s.ip/nextcloud时得到503。我有什么想法吗?
答案 0 :(得分:1)
我在评论中发布:
您收到503代码,因为您的
Service
->.spec.selector
(run: nextcloud-app
)和Deployment
->.spec.selector.matchLabels
({ {1}})。您将需要使它们相同。在描述服务时也可以看到它(无端点)。
此特定设置中的问题是app: nextcloud-app
中的matchLabel
和Deployment
中的selector
之间不匹配:
Service
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
定义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
我鼓励您检查nextcloud的Helm图表:
其他资源: