Lab 9.2
I have problems with this Lab. I work on a local setup with one CP and one Worker Node. Lab 9.1 is successfully installed. Now I can't go any further.
[user@k8s-master-01 ~]$ less /etc/hosts 192.168.99.200 k8s-master-01.example.org k8s-master-01 192.168.99.201 k8s-worker-01.example.org k8s-worker-01 192.168.99.200 k8s-endpoint.example.org k8s-endpoint
[user@k8s-master-01 ~]$ kubectl -n accounting describe services Name: service-lab Namespace: accounting Labels: system=secondary Annotations: <none> Selector: system=secondary Type: NodePort IP Family Policy: SingleStack IP Families: IPv4 IP: 10.101.211.61 IPs: 10.101.211.61 Port: <unset> 8080/TCP TargetPort: 8080/TCP NodePort: <unset> 30977/TCP Endpoints: 192.168.243.180:8080,192.168.243.189:8080 Session Affinity: None External Traffic Policy: Cluster Events: <none
[user@k8s-master-01 ~]$kubectl cluster-info Kubernetes control plane is running at https://k8s-endpoint.example.org:6443 CoreDNS is running at https://k8s-endpoint.example.org:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
user@k8s-master-01 ~]$ curl https://k8s-endpoint.example.org:30977 curl: (7) Failed to connect to k8s-endpoint.example.org port 30977: Connection refused
user@k8s-master-01 ~]$ curl 127.0.0.1:30977 curl: (7) Failed to connect to 127.0.0.1 port 30977: Connection refused
It is the same when i am on the worker node. I have no open port 30977 on both nodes. I checked that with 'netstat'
So i have done the same on an eks to check this in a fast way. The result is the same.
Something went wrong here, do i need a load-balancer? Or is there something else missing that the learners should find out for themselves? In other labs I had the impression a few times that you were installing something like that, I can't find the problem here.
Best Answer
-
@reactivan You simply didn't change port from 8080 to 80 -- that's why you don't have access via NodePort (nginx itself doesn't listen on 8080). See lab 9.1 p13.
You can't see that port is listening via netstat, because it is routed via iptables.
2
Answers
-
Hello @reactivan
On Lab Exercise 9.2, it is expected that we use curl with HTTP protocol, not HTTPS. On the other hand, it is important to use "http://" on your command (not only IP address).
Have you tried "curl http://:NodePort"?
Leo
0 -
At fiist, sorry for the double post, i had problems with the markdown for the code examples. When I left the forum I thought it was only one post.
I have not tried your command curl http://:30977 -but i tried it now for fun, it doesn't work. Also these::
curl http://k8s-endpoint.example.org:30977 curl http://k8s-endpoint:30977 curl http://k8s-master-01:30977 curl http://k8s-worker-01:30977 curl http://k8s-master-01.example.org:30977 curl http://k8s-worker-01.example.org:30977 curl http://127.0.0.1:30977
curl: (7) Failed to connect to * 30977: Connection refused
It doesnt't work for me.As i say before, i checked with netstat on both nodes:
# netstat -tulpn Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:10257 0.0.0.0:* LISTEN 1693/kube-controlle tcp 0 0 0.0.0.0:179 0.0.0.0:* LISTEN 2541/bird tcp 0 0 127.0.0.1:10259 0.0.0.0:* LISTEN 1713/kube-scheduler tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 757/sshd tcp 0 0 127.0.0.1:41383 0.0.0.0:* LISTEN 761/containerd tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 981/kubelet ...
there is no open Port 30977
0 -
It works now with a simpler setup:
kubectl run echoserver --image=k8s.gcr.io/echoserver:1.10 --restart=Never --port=8080 -l app=echoserver kubectl create service nodeport echoserver --tcp=5005:8080
This works with all commands like:
curl http://k8s-endpoint.example.org:31861 curl k8s-endpoint:31861 curl 192.168.99.200:31861
But i have to understand that i can't see the nodeport 31861 with netstat.
0 -
@oleksazhel said:
@reactivan You simply didn't change port from 8080 to 80 -- that's why you don't have access via NodePort (nginx itself doesn't listen on 8080). See lab 9.1 p13.You can't see that port is listening via netstat, because it is routed via iptables.
now I started again with 8.1 and understood the whole thing. Many Thanks!
1
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
- 956 Programming and Development
- 310 Kernel Development
- 628 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)