【问题标题】:k3s ingress "default-http-backend" not found未找到 k3s 入口“default-http-backend”
【发布时间】:2021-09-02 17:39:07
【问题描述】:

TL;DR:设置一个与部署和入口端口同名的服务仍然得到:

error: endpoints "default-http-backend" not found

这里是服务 yaml:

apiVersion: v1

kind: Service
metadata:
  name: sonarr
  namespace: media
spec:
  selector:
    app: sonarr
  ports:
  - protocol: TCP
    port: 8989
    targetPort: 80

kubectl apply -f svc.yaml 结果

 kubectl describe svc sonarr -n media
Name:              sonarr
Namespace:         media
Labels:            <none>
Annotations:       <none>
Selector:          app=sonarr
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                10.43.184.97
IPs:               10.43.184.97
Port:              <unset>  8989/TCP
TargetPort:        80/TCP
Endpoints:         10.42.1.10:80
Session Affinity:  None
Events:            <none>

部署 Yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: sonarr
  namespace: media
spec:
  selector:
    matchLabels:
      app: sonarr
  template:
    metadata:
      labels:
        app: sonarr
    spec:
      containers:
      - name: sonarr
        image: ghcr.io/linuxserver/sonarr:arm32v7-latest
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"
        ports:
        - containerPort: 8989

部署结果

kubectl get deployments -n media
NAME     READY   UP-TO-DATE   AVAILABLE   AGE
sonarr   1/1     1            1           37m

入口yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: sonarr-ingress
  namespace: media
  labels:
    name: sonarr-ingress
spec:
  rules:
  - host: sonarr.smrtrock.com
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: sonarr
            port: 
              number: 8989

入口描述

kubectl describe ing sonarr -n media
Name:             sonarr
Namespace:        media
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host                 Path  Backends
  ----                 ----  --------
  sonarr.smrtrock.com
                       /   sonarr:8989 (10.42.1.10:80)
Annotations:           <none>
Events:                <none>

不确定我对 k8s 很陌生。

【问题讨论】:

    标签: kubernetes-ingress k3s


    【解决方案1】:

    这是意料之中的。 default-http-backend 是您所有请求符合您的任何入口规则的地方。很可能没有这种追索权 在您的 nginx 安装 yamls 中获取您的确切版本。

    没有规则的 Ingress 将所有流量发送到单个默认值 后端。 defaultBackend 通常是一个配置选项 Ingress 控制器的名称,并且未在您的 Ingress 中指定 资源。

    如果没有任何主机或路径与 Ingress 中的 HTTP 请求匹配 对象,流量将路由到您的默认后端。

    检查起来可能很有趣:

    【讨论】:

      猜你喜欢
      • 2021-06-07
      • 2022-10-07
      • 2017-03-23
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多