标签: haproxy-ingress

如何将目标重写为 haproxy-ingress 中的正确路径?

我尝试使用 haproxy 作为负载均衡,使用 haproxy-ingress 作为 k8s 中的入口控制器。

我的负载平衡配置:

frontend MyFrontend_80
    bind    *:80
    bind    *:443
    mode    tcp
    default_backend         TransparentBack_https

backend TransparentBack_https
        mode                            tcp
        balance roundrobin
        option ssl-hello-chk
        server                  MyWebServer1 10.5.5.53
        server                  MyWebServer2 10.5.5.54
        server                  MyWebServer3 10.5.5.55
Run Code Online (Sandbox Code Playgroud)

入口文件:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: li
  namespace: li
  annotations:
    # add an annotation indicating the issuer to use.
    cert-manager.io/cluster-issuer: "letsencrypt-staging"
    #haproxy.org/forwarded-for: true
    kubernetes.io/ingress.class: haproxy
    ingress.kubernetes.io/ssl-redirect: "true"
spec:
  rules:
  - host: a.b.c
    http:
      paths:
      - path: /storage
        backend:
          serviceName: li-frontend
          servicePort: 80
  tls:
  - …
Run Code Online (Sandbox Code Playgroud)

url-rewriting kubernetes haproxy-ingress

8
推荐指数
1
解决办法
7784
查看次数

找不到名称为 ingress-controller/ingress-default-backend 的服务

此配置适用于其他集群,但不适用于我部署的最后一个集群。我的 RBAC 配置存在某种问题。

kubectl get pods -n ingress-controller

NAME                                     READY   STATUS             RESTARTS   AGE
haproxy-ingress-b4d969b8b-dw65k          0/1     CrashLoopBackOff   15         52m
ingress-default-backend-f5dfbf97-6t72p   1/1     Running            0          52m
Run Code Online (Sandbox Code Playgroud)

kubectl logs -n ingress-controller -l run=haproxy-ingress

I0120 11:55:17.347244       6 launch.go:151] 
Name:       HAProxy
Release:    v0.8
Build:      git-1351a73
Repository: https://github.com/jcmoraisjr/haproxy-ingress
I0120 11:55:17.347337       6 launch.go:154] Watching for ingress class: haproxy
I0120 11:55:17.347664       6 launch.go:364] Creating API client for https://10.3.0.1:443
I0120 11:55:17.391439       6 launch.go:376] Running in Kubernetes Cluster version v1.16 (v1.16.4) - git (clean) commit 224be7bdce5a9dd0c2fd0d46b83865648e2fe0ba - platform linux/amd64
F0120 11:55:17.401773 …
Run Code Online (Sandbox Code Playgroud)

rbac kubernetes haproxy-ingress

7
推荐指数
1
解决办法
613
查看次数

如何修复“无法观看 *v1beta1.IngressClass:无法列出 *v1beta1.IngressClass:禁止 ingressclasses.networking.k8s.io”

我在 Kubernetes AKS 中有 HA 代理入口。升级 Kubernetes 版本后,我从 HA 代理收到错误。我尝试通过修改旧版本来解决问题,haproxy.yaml以避免弃用的 API 并获取 HA 代理入口的最新映像。但错误仍然存​​在。我该如何修复这些错误?

我也尝试过这个答案,但它对我不起作用。

我在 github 上检查了这个问题,但尽管我使用 v0.12-snapshot.3,错误仍然存​​在。

这是我修改后的 haproxy.yaml:

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: ingress-controller
  namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
  name: ingress-controller
rules:
  - apiGroups:
      - ""
    resources:
      - configmaps
      - endpoints
      - nodes
      - pods
      - secrets
    verbs:
      - list
      - watch
  - apiGroups:
      - ""
    resources:
      - nodes
    verbs:
      - get
  - apiGroups:
      - "" …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-ingress azure-aks haproxy-ingress

5
推荐指数
1
解决办法
2万
查看次数