首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MicroK8S部署webserver服务器

MicroK8S部署webserver服务器
EN

Stack Overflow用户
提问于 2020-10-24 20:19:03
回答 1查看 528关注 0票数 1

我正在使用microk8s,我正在尝试部署nextcloud,以便对它更加熟悉。不过,nextcloud的部署还不错,我在设置入口方面遇到了一些问题。也许你可以看看我的清单和入口资源,帮我找到问题。

这是部署文件:

代码语言:javascript
复制
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

这是入口资源文件:

代码语言:javascript
复制
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上启用了以下加载项:

  • dns
  • 入口

现在,我想向您展示一些k8s输出。

kubectl -n nextcloud描述svc nextcloud-service

代码语言:javascript
复制
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描述入口云-入口云

代码语言:javascript
复制
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

pod/nginx-ingress-microk8s-controller-k2q6c kubectl -n入口日志

代码语言:javascript
复制
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结果。知道我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-29 15:19:16

正如我在评论中所提到的:

您正在接收503个代码,因为您在Service -> .spec.selector (run: nextcloud-app)和Deployment -> .spec.selector.matchLabels (app: nextcloud-app)中有一个不匹配。你得让他们两个都一样。在描述服务(没有端点)时也可以看到它。

这个特殊设置中的问题是,matchLabelDeployment中与selectorService中不匹配。

Deployment

代码语言:javascript
复制
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nextcloud-app # <-- HERE!

Service

代码语言:javascript
复制
spec:
  ports:
    - port: 80
      targetPort: 8080
  selector:
    run: nextcloud-app # <-- HERE!

要解决这一问题,您需要将两者匹配(例如):

  • app: nextcloud-app in a Deployment和a Service

识别不匹配选择器的一些方法(通过使用post中的示例):

  • 如上面所示,手动检查YAML定义
  • $ kubectl -n nextcloud describe svc nextcloud-service
代码语言:javascript
复制
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
代码语言:javascript
复制
NAME                 ENDPOINTS            AGE
nextcloud-service    <none>               1m     
  • 来自Ingress控制器的日志(张贴在问题中):
代码语言:javascript
复制
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图表:

追加资源:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64517650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档