k8s_gateway is a CoreDNS plugin that resolves all types of external Kubernetes resources.
It will gather all domains from all services, ingresses, and HTTPRoutes resources and create a DNS record for each of them, corresponding to the service IPs. This ensures that all external resources are resolved from within the cluster, and traffic is not leaving the cluster.
Most people deploy the k8s_gateway together with CoreDNS and call the Helm Release 'k8s-gateway'. This can be supplimenting along side the kube-dns or default CoreDNS from k3s.
k8s-gateway from ori-edge is more popular with 79 repositories.
Install with:
helm repo add bjw-s oci://ghcr.io/bjw-s/helm/
helm install k8s-gateway bjw-s/app-template -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
k8s-gateway | samip5/k8s-cluster | 124 | 3.7.3 | 13 days ago |
k8s-gateway | larivierec/home-cluster | 107 | 3.7.3 | 14 days ago |
k8s-gateway | samip5/k8s-cluster | 124 | 3.7.3 | 14 days ago |
See the most popular values for this chart:
Key | Types |
---|---|
boolean | |
serviceAccount.name (9) k8s-gateway | string |
persistence.config.name (7) k8s-gateway | string |
persistence.config.type (7) configMap | string |
persistence.config.globalMounts[].path (5) /etc/coredns/Corefile | string |
boolean | |
string | |
boolean | |
string | |
boolean | |
persistence.config.mountPath (1) /etc/coredns | string |
boolean | |
string | |
boolean | |
persistence.hosts.hostPath (4) /etc/hosts | string |
persistence.hosts.type (4) hostPath | string |
boolean | |
persistence.config-file.name (3) k8s-gateway-configmap | string |
persistence.config-file.type (3) configMap | string |
boolean | |
persistence.config-file.mountPath (2) /etc/coredns/Corefile | string |
boolean | |
string | |
persistence.config-file.globalMounts[].path (1) /etc/coredns/Corefile | string |
boolean | |
string | |
controllers.k8s-gateway.containers.app.args[] (4) - -conf | string |
controllers.k8s-gateway.containers.app.image.repository (4) quay.io/oriedge/k8s_gateway | string |
string | |
string | |
boolean | |
string | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
string | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
boolean | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
number | |
controllers.k8s-gateway.strategy (4) RollingUpdate | string |
string | |
string | |
string | |
number | |
controllers.k8s-gateway.pod.topologySpreadConstraints[].topologyKey (2) kubernetes.io/hostname | string |
string | |
string | |
controllers.k8s-gateway.type (1) deployment | string |
controllers.main.strategy (3) RollingUpdate | string |
string | |
controllers.main.containers.main.args[] (2) - -conf | string |
controllers.main.containers.main.image.repository (2) quay.io/oriedge/k8s_gateway | string |
controllers.main.containers.main.image.tag (2) v0.4.0@sha256:7bdbd447c0244b8f89de9cd6f4826ed0ac66c9406fac3a4ac80081020c251c6b | string |
boolean | |
string | |
number | |
boolean | |
string | |
number | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
controllers.main.containers.k8s-gateway.args[] (1) - -conf | string |
controllers.main.containers.k8s-gateway.image.repository (1) ghcr.io/samip5/k8s_gateway | string |
string | |
number | |
boolean | |
number | |
string | |
number | |
controllers.main.pod.topologySpreadConstraints[].topologyKey (2) kubernetes.io/hostname | string |
string | |
number | |
boolean | |
string | |
number | |
string | |
boolean | |
string | |
number | |
string | |
boolean | |
boolean | |
string | |
number | |
string | |
service.app.controller (4) k8s-gateway | string |
string | |
boolean | |
number | |
number | |
number | |
string | |
number | |
boolean | |
number | |
string | |
number | |
service.app.type (2) LoadBalancer | string |
service.app.annotations."io.cilium/lb-ipam-ips" (1) ${LB_K8S_GATEWAY} | string |
string | |
service.dns.controller (4) k8s-gateway | string |
boolean | |
number | |
string | |
number | |
boolean | |
number | |
string | |
number | |
service.dns.type (4) LoadBalancer | string |
service.dns.annotations."io.cilium/lb-ipam-ips" (2) ${SVC_K8S_GATEWAY_ADDR} | string |
service.dns.annotations."lbipam.cilium.io/ips" (2) 192.168.40.10 | string |
boolean | |
string | |
service.dns.clusterIP (1) 10.43.195.229 | string |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
boolean | |
string | |
service.main.type (3) LoadBalancer | string |
service.main.annotations."io.cilium/lb-ipam-ips" (2) 10.41.69.53,2001:14ba:16fd:962d::53 | string |
string | |
service.main.loadBalancerIP (1) 10.22.2.3 | string |
string | |
boolean | |
number | |
string | |
number | |
boolean | |
number | |
string | |
string | |
string | |
string | |
string | |
boolean | |
serviceMonitor.main.serviceName (2) k8s-gateway | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
serviceMonitor.app.serviceName (2) k8s-gateway-app | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
serviceMonitor.k8s-gateway.serviceName (1) k8s-gateway | string |
args[] (3) - -conf | string |
image.repository (3) quay.io/oriedge/k8s_gateway | string |
image.tag (3) v0.4.0 | string |
image.pullPolicy (1) IfNotPresent | string |
string | |
number | |
controller.strategy (2) RollingUpdate | string |
string | |
number | |
topologySpreadConstraints[].topologyKey (2) kubernetes.io/hostname | string |
topologySpreadConstraints[].whenUnsatisfiable (2) DoNotSchedule | string |
configmap.config.data.Corefile (1) .:1053 {
errors
log
health {
lameduck 5s
}
ready
k8s_gateway ${SECRET_PUBLIC_DOMAIN} ${SECRET_PRIVATE_DOMAIN} ${SECRET_EMAIL_DOMAIN} {
apex k8s-gateway.networking
resources Ingress Service
ttl 300
}
prometheus 0.0.0.0:9153
loop
reload
loadbalance
}
| string |
boolean | |
configMaps.config.data.Corefile (1) .:1053 {
errors
log
health {
lameduck 5s
}
ready
k8s_gateway ${INGRESS_DOMAIN} {
apex k8s-gateway.networking
resources Ingress Service
ttl 300
}
prometheus 0.0.0.0:9153
loop
reload
loadbalance
}
| string |
boolean | |
configMaps.k8s-gateway.data.Corefile (1) .:1053 {
k8s_gateway rx.cz {
apex k8s-gateway.network
ttl 1
}
errors
health {
lameduck 5s
}
ready
prometheus 0.0.0.0:9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
storage.rx.cz:1053 {
errors
forward . 192.168.1.19
cache 30
}
| string |
string | |
string | |
number | |
boolean | |
number | |
global.nameOverride (1) k8s-gateway | string |
podAnnotations."configmap.reloader.stakater.com/reload" (1) k8s-gateway-config | string |