I have traefik dash board running and can I see my another route at /home and when i click on that i see teh service mapping is correct per dashboard. but when i load url with my domain name /home , teh ingress log shows it is trying to hit @dashboard/internal . where as my custom service should have been executed .
find below my routing and service mapping per dashbaord UI
You should probably share your config files.
I installed traefik via Helm chart with additional values as bellow
additionalArguments:
- "--api.insecure=true"
- "--providers.kubernetesingress.ingressclass=traefik"
- "--log.level=DEBUG"
- "--accesslog.addinternals=true"
ports:
traefik:
port: 9000 # The port Traefik listens on inside the container
expose:
default: true # Expose the traefik port (dashboard)
exposedPort: 9000 # The port exposed on the Kubernetes service
protocol: TCP
web:
port: 80 # The port Traefik listens on inside the container for HTTP traffic
expose:
default: true # Expose the web entrypoint
exposedPort: 80 # The port exposed on the Kubernetes service
protocol: TCP
service:
type: LoadBalancer
entryPoints:
web:
address: ":80" # Listen on port 80 for HTTP traffic
ingressRoute:
dashboard:
enabled: true
my ingressRoute Definition :-
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: react-app-ingress-route
namespace: kube-system
spec:
entryPoints:
- web
routes:
- match: PathPrefix(`/home2`)
kind: Rule
services:
- name: react-01-react-app
port: 3000
My Deployment Description :-
kubectl describe deployment react-01-react-app -n kube-system
Name: react-01-react-app
Namespace: kube-system
CreationTimestamp: Thu, 05 Dec 2024 14:42:38 +0000
Labels: app.kubernetes.io/instance=react-01
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=react-app
app.kubernetes.io/version=1.0.0
helm.sh/chart=react-app-0.1.0
Annotations: deployment.kubernetes.io/revision: 1
meta.helm.sh/release-name: react-01
meta.helm.sh/release-namespace: kube-system
Selector: app.kubernetes.io/instance=react-01,app.kubernetes.io/name=react-app
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app.kubernetes.io/instance=react-01
app.kubernetes.io/name=react-app
Service Account: react-app-sa
Containers:
react-app:
Image: khirodpandalearn/react-nginx-app:latest
Port: 80/TCP
Host Port: 0/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Node-Selectors: <none>
Tolerations: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: react-01-react-app-7b78b9784d (2/2 replicas created)
Events: <none>
My service Description :-
Name: react-01-react-app
Namespace: kube-system
Labels: app.kubernetes.io/instance=react-01
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=react-app
app.kubernetes.io/version=1.0.0
helm.sh/chart=react-app-0.1.0
Annotations: meta.helm.sh/release-name: react-01
meta.helm.sh/release-namespace: kube-system
Selector: app.kubernetes.io/instance=react-01,app.kubernetes.io/name=react-app
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.43.57.95
IPs: 10.43.57.95
Port: http 3000/TCP
TargetPort: 80/TCP
Endpoints: 10.42.1.21:80,10.42.2.27:80
Session Affinity: None
Internal Traffic Policy: Cluster
Events: <none>
the dashboard UI shows like this in URL http://mydomain.xx.xx/dashboard
now after all this when i try http://mydomain.xx.xx/home
i see 404 Page not Found .
when i see the ingrees log in traefik, i see that the /home
call is getting routed to dashboard@internal
than my service defined
10.42.2.1 - - [05/Dec/2024:23:47:43 +0000] "GET /home HTTP/1.1" 404 19 "-" "-" 6395 "dashboard@internal" "-" 0ms
I am experiencing the same issue any luck?
Hello Vivek ,
I was able to resolve that . in my case it was the way i has created my React App . i had to add homepage in package.json and nginx conf i needed to update then all worked . was not an issue with Traefik.
Hello @khirodpanda
My issue was with a microservice when i was exposing it on port 443 i was getting 404 and when 80 it was 200 OK