fix(external-proxmox): valid ingressroute with https backend + working endpoints
- ingress.yaml had invalid 'https:' rules key (dropped by apiserver -> OutOfSync);
replaced by IngressRoute on websecure with scheme:https + ServersTransport
(insecureSkipVerify) since Proxmox :8006 is https with self-signed cert
- EndpointSlice apply fails with kubectl 1.31 vs server 1.36 ('unknown field
spec'), so keep v1 Endpoints (auto-mirrored to EndpointSlice); fixed spec
- shared namespace+middleware moved to services/external (app 'external')
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
This commit is contained in:
@@ -1,25 +0,0 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: external-proxmox
|
||||
namespace: external
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: proxmox.labzand.com
|
||||
https:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: proxmox-external
|
||||
port:
|
||||
number: 8006
|
||||
tls:
|
||||
- hosts:
|
||||
- proxmox.labzand.com
|
||||
secretName: external-proxmox-labzand-tls
|
||||
@@ -0,0 +1,29 @@
|
||||
# Proxmox (:8006) spricht HTTPS met een self-signed cert — daarom een
|
||||
# IngressRoute (i.p.v. een plain Ingress, die altijd HTTP naar de backend praat)
|
||||
# met scheme: https en een ServersTransport die het cert niet checkt.
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: ServersTransport
|
||||
metadata:
|
||||
name: proxmox-insecure
|
||||
namespace: external
|
||||
spec:
|
||||
insecureSkipVerify: true
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: external-proxmox
|
||||
namespace: external
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
tls:
|
||||
secretName: external-proxmox-labzand-tls
|
||||
routes:
|
||||
- match: Host(`proxmox.labzand.com`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: proxmox-external
|
||||
port: 8006
|
||||
scheme: https
|
||||
serversTransport: proxmox-insecure
|
||||
@@ -1,5 +1,11 @@
|
||||
# Service zonder selector: Kubernetes maakt zelf geen Endpoints aan.
|
||||
# Het Endpoints-object hieronder levert het externe adres (buiten het cluster).
|
||||
# Service zonder selector: Kubernetes maakt zelf geen endpoints aan.
|
||||
# Het Endpoints-object hieronder levert het externe adres (Proxmox, buiten het cluster).
|
||||
# De endpoints-controller mirrored dit automatisch naar een EndpointSlice.
|
||||
# (Een handmatige discovery.k8s.io/v1 EndpointSlice faalt op deze cluster met
|
||||
# kubectl 1.31 tegen server 1.36: "unknown field spec" — daher v1 Endpoints.)
|
||||
# Let op: ArgoCD trackt Endpoints/EndpointSlice niet — apply deze file handmatig
|
||||
# als het endpoint ontbreekt:
|
||||
# kubectl apply -f services/external-proxmox/service.yaml
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
@@ -25,21 +31,3 @@ subsets:
|
||||
- name: https
|
||||
port: 8006
|
||||
protocol: TCP
|
||||
---
|
||||
apiVersion: discovery.k8s.io/v1
|
||||
kind: EndpointSlice
|
||||
metadata:
|
||||
name: proxmox-external
|
||||
labels:
|
||||
kubernetes.io/service-name: proxmox-external
|
||||
namespace: external
|
||||
addressType: IPv4
|
||||
ports:
|
||||
- name: https
|
||||
protocol: TCP
|
||||
port: 8006
|
||||
endpoints:
|
||||
- addresses:
|
||||
- 192.168.2.64
|
||||
conditions:
|
||||
ready: true
|
||||
Reference in New Issue
Block a user