如何使用Traefik+MetalLB暴露Kubernetes API (apiserver)
How to use Traefik+MetalLB to Expose Kubernetes API (apiserver)
我的 raspberry pi 上有一个 microk8s 运行,我希望使用 traefik ingressroute 将 kubernetes API 公开到我的子域
下面是我的入口路线:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: kube-api
spec:
entryPoints:
- web
- websecure
routes:
- match: Host(`kubernetes.mydomain.com`)
kind: Rule
services:
- kind: Service
name: kubernetes
port: 16443 # have also tried 443
tls:
secretName: kubernetes.mydomain.com
这适用于我的其他服务+ingressroute 但不适用于 api。
对于 kubernetes api 我只能看到我的证书已成功生成,但页面只显示 'Internal Server Error'
请让我知道我可以提供哪些额外信息,我很乐意提供!
这个问题是因为 traefik 试图通过 https 连接 kube-apiserver。
我不得不使用 serverTransport 来允许 traefik 和 kube-apiserver 之间的不安全通信。这不是安全问题,因为与 traefik 的通信将验证 ssl。
可以在本页的最底部找到执行此操作的方法。
https://doc.traefik.io/traefik/v2.4/routing/providers/kubernetes-crd/#kind-serverstransport
我的 raspberry pi 上有一个 microk8s 运行,我希望使用 traefik ingressroute 将 kubernetes API 公开到我的子域
下面是我的入口路线:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: kube-api
spec:
entryPoints:
- web
- websecure
routes:
- match: Host(`kubernetes.mydomain.com`)
kind: Rule
services:
- kind: Service
name: kubernetes
port: 16443 # have also tried 443
tls:
secretName: kubernetes.mydomain.com
这适用于我的其他服务+ingressroute 但不适用于 api。
对于 kubernetes api 我只能看到我的证书已成功生成,但页面只显示 'Internal Server Error'
请让我知道我可以提供哪些额外信息,我很乐意提供!
这个问题是因为 traefik 试图通过 https 连接 kube-apiserver。
我不得不使用 serverTransport 来允许 traefik 和 kube-apiserver 之间的不安全通信。这不是安全问题,因为与 traefik 的通信将验证 ssl。
可以在本页的最底部找到执行此操作的方法。 https://doc.traefik.io/traefik/v2.4/routing/providers/kubernetes-crd/#kind-serverstransport