vcluster
vcluster copied to clipboard
Services lose "endpoints"
What happened?
With different Ingress Controller, such as Traefik and Nginx, the service used to route traffic "lose" endpoints. This results in Ingresses not working:
Service "harbor-system/harbor-portal" does not have any active Endpoint
What did you expect to happen?
Services should not lose endpoints
How can we reproduce it (as minimally and precisely as possible)?
- Deploy a VCluster
- Deploy an Ingress Controller inside vCluster
- Expose some services
Anything else we need to know?
No response
Host cluster Kubernetes version
Server Version: version.Info{Major:"1", Minor:"29", GitVersion:"v1.29.0", GitCommit:"3f7a50f38688eb332e2a1b013678c6435d539ae6", GitTreeState:"clean", BuildDate:"2023-12-13T08:45:03Z", GoVersion:"go1.21.5", Compiler:"gc", Platform:"linux/amd64"}
vcluster version
vcluster version 0.19.6
VCluster Config
---
sync:
persistentvolumes:
enabled: true
pods:
ephemeralContainers: true
status: true
secrets:
all: true
configmaps:
all: true
nodes:
nodeSelector: sync=true
enabled: true
enableScheduler: true
syncer:
replicas: 3
etcd:
replicas: 3
coredns:
replicas: 3
config: |
.:1053 {
errors
health
ready
rewrite name regex .*\.nodes\.vcluster\.com kubernetes.default.svc.cluster.local
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
hosts /etc/NodeHosts {
ttl 60
reload 15s
fallthrough
}
prometheus :9153
forward . 1.1.1.1
cache 30
loop
reload
loadbalance
whoami
}
import /etc/coredns/custom/*.server
isolation:
enabled: true
podSecurityStandard: baseline
resourceQuota:
enabled: true
quota:
requests.cpu: 10
requests.memory: 20Gi
requests.storage: 100Gi
requests.ephemeral-storage: 100Gi
limits.cpu: 40
limits.memory: 40Gi
limits.ephemeral-storage: 300Gi
services.nodeports: 0
services.loadbalancers: 0
count/endpoints: 40
count/pods: 40
count/services: 40
count/secrets: 100
count/configmaps: 100
count/persistentvolumeclaims: 20
scopeSelector:
matchExpressions:
scopes:
networkPolicy:
enabled: false
telemetry:
disabled: true