Lab 11.2 "503 Service Temporarily Unavailable"
Please help I have been stuck in this lab for 3 weeks ![]()
What is the problem?
When I run the command curl -H "Host: www.external.com" http://10.104.227.79 I Got a "503 Service Temporarily Unavailable". I Followed the steps in Lab

I did lab11.2 step 1


Ingress information:


Systmem configuration:



Ingress pods details:




Comments
-
I have got the response in the ingress.yaml, you have to create a ingress for each web server:
- ingress-test-nginx
- ingress-test-httpd
and link the ingress service in spec: to each server web-one or web-two.
Greetings
0 -
Hi @memoros77,
The ingress exercise exemplifies the name based virtual hosting method to route traffic to multiple services through an ingress controller (myingress-ingress-nginx) paired with an ingress object (ingress-test):
https://kubernetes.io/docs/concepts/services-networking/ingress/#name-based-virtual-hosting
Regards,
-Chris0 -
@chrispokorni thank you very much for your answer, It helped me a lot to clarify the concepts!!!
0 -
Hi @memoros77 , I am stuck in exactly similar situation like yours. What did you do to go past that problem and solve 503 issue ?
0 -
I tried to create two ingres to match to same service, but it looks like we can not map to same host, www.external.com.
Error from server (BadRequest): error when creating "ingress2.yaml": admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: host "www.external.com" and path "/" is already defined in ingress default/ingress-test
0 -
@yrimal said:
I tried to create two ingres to match to same service, but it looks like we can not map to same host, www.external.com.Error from server (BadRequest): error when creating "ingress2.yaml": admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: host "www.external.com" and path "/" is already defined in ingress default/ingress-test
You should read through the link provided by Chris earlier for the ingress config. How I got this fixed is that I looked with "describe" command to every single component from top to bottom to see where the network stops and then removed everything and started from beginning since I could not figure out how to re-initialize these components.
My web-two looks like this
apiVersion: apps/v1 kind: Deployment metadata: name: web-two labels: system: secondary namespace: default spec: selector: matchLabels: system: secondary replicas: 1 template: metadata: labels: system: secondary spec: containers: - image: httpd:2.4 imagePullPolicy: Always name: httpd ports: - containerPort: 80 protocol: TCPWhich I expose with command "kubectl expose deployment web-two --type=ClusterIP --name=web-two-svc"
and reference that in my ingress.yml:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-test annotations: nginx.ingress.kubernetes.io/service-upstream: "true" namespace: default spec: ingressClassName: nginx rules: - host: www.external.com http: paths: - backend: service: name: web-two-svc port: number: 80 path: / pathType: ImplementationSpecificHope that helps.
0 -
Hi @yrimal,
Just as @mikkokok stated, my earlier response aimed to clarify the purpose of the exercise - to manage traffic to two distinct Services through one single ingress controller paired with one single Ingress object defined by one single manifest. The single ingress manifest stores mapping rules for multiple Services, in our case to Services web-one and web-two respectively.
The ingress exercise exemplifies the name based virtual hosting method to route traffic to multiple services through an ingress controller (myingress-ingress-nginx) paired with an ingress object (ingress-test):
https://kubernetes.io/docs/concepts/services-networking/ingress/#name-based-virtual-hostingRegards,
-Chris0 -
The lab is poorly written. At the top we have this directive: "Create two deployments,web-one and web-two, one running httpd, the other nginx. Expose both as ClusterIP services." Then in the ingress yaml it references a service called "secondapp". It should use the name web-two, as that's the default name of the service for the web-two deployment. Then you just need to copy the rules section and in that rule set change the hostname to perhaps www.webone.com and the service name to web-one. And then they should both work.
0
Categories
- All Categories
- 177 LFX Mentorship
- 177 LFX Mentorship: Linux Kernel
- 750 Linux Foundation IT Professional Programs
- 373 Cloud Engineer IT Professional Program
- 169 Advanced Cloud Engineer IT Professional Program
- 74 DevOps IT Professional Program - Discontinued
- 4 DevOps & GitOps IT Professional Program
- 99 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 1 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 5 Cloud & Containers Training
- 1 Cybersecurity Training
- 2 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 2 Open Source Best Practice Training
- 1 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 792 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 87 Storage
- 769 Linux Distributions
- 81 Debian
- 68 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 106 Mobile Computing
- 18 Android
- 73 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 392 Off Topic
- 121 Introductions
- 181 Small Talk
- 29 Study Material
- 955 Programming and Development
- 310 Kernel Development
- 627 Software Development
- 984 Software
- 376 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)