Dashboard url doesn't work even though port is open - kubernetes

I want to access the Kubernetes dashboard on my MacBook (using the URL on my web browser), however even though port 36635 is open on my remote Google Linux VM I can't seem to access it. What am I doing wrong? How can I make this URL specify the public IP of the VM for being able to access the dashboard from the internet?

127.0.0.1 is locahost accesible only from the very container(localhost).
0.0.0.0 is localhost accesible from anywhere in the network.
You need to run the dashboard on 0.0.0.0 so it can be access from anywhere it in the network. To clarify this, your kubernetes host (your PC) is different localhost(127.0.0.1) than your kubernetes container.
This rule is applicable across everything. If you want to access anything running in the network, that thing needs to be running as 0.0.0.0:port. Whenever you work with docker/kubernetes(minikube), always keep in mind that they are not your localhost and they operate as 'servers' in your network

Related

How can I set up virtualbox to connect to both external internet and localhost.mysite.com server?

I am trying to use a Virtual Box VM to create a development environment I can share with a few dozen other developers. We are all on an internal network and need to connect to external web sites via proxy server. On the VM (guest) I am putting:
windows 10 64 bit
weblogic server
Several other dev tools
My requirements are:
From the guest OS I need to be able to hit the internet (ie google.com)
From the guest OS I also need to be able to open chrome and hit the server webpages running on the guest OS using mysite.com:8007/index.html.
I have modified the guest OS host file such that 127.0.0.1 maps to mysite.com. Ideally that should mean anything going to mysite.com will get resolved to 127.0.0.1.
Our proxy to reach the internet is http-proxy.mysite.com:80. I am able to connect to the internet (pages like www.google.com) as long as I enable the proxy (http-proxy.mysite.com:80) in chrome proxy settings. However I need to be able to enter mysite.com:8007/index.html in the browser and be able to load the homepage. I am able to hit the server using localhost:8007 but I need mysite.com:8007 to work since authentication cookies wont get passed correctly to localhost:8007 urls.
When I enter mysite.com:8007/index.html in chrome it keeps trying to redirect to the IP address of the host OS 10 . * . * . * and the server is not running on the Host OS.
When I enter 'curl mysite.com:8007/index.html' in a command prompt on the guest OS it actually does prints the correct response from my server (no idea why chrome is different / not respecting the host file config).
Any idea how to configure Virtual Box or chrome such that the external pages as well as the guest server pages work?
For internet access on VM, you need to configure network card as BRIDGE, NAT or NAT NETWORK. In your case NAT NETWORK will be better solution, because this will allow you bo be you VM visible in network, just like your Host.
If you have and Internal network you mus have also another card configured for VM for internal network.
To be your VM accessible from Internal Network via http... the coomputers in network have to setup DNS entry pointing to your VM.

Google Cloud SQL VM refusing connection

I have been stuck trying to figure out why my Cloud SQL VM is refusing my connection from my machine (whom ip address I have added as a subnet). I cann SSH into the VM but i cannot access the VM from a browser to make SQLs. I have scoured the internet for days trying to find a fix but i cannot seem to get pass this point. My apache listens to port 80. Also Id like to add that I have been connecting to my Mysql db for months through php and making sqls so I do not believe the problem is with apache. However if it is please point me to where i should be looking.
It sounds like you have MySQL running on a GCE VM, not an actual CloudSQL instance (that is a different service from GCE). Is that right?
If so, then if you are trying to connect from your local machine directly to the mysql instance, you are probably getting blocked by the firewall. Go to the networks tab (under Compute Engine) on the cloud console and see what firewall rules you have enabled. You might need to add one for 3306 or whatever port you are using.

Access local site with subdomain on iPhone

I understand that you can access your computer's local site from a mobile device running on the same network by entering your computer's IP address (with relevant local port) into the address bar. However, I often use subdomains for development. On my local I access subdomains using lvh.me. For example:
blog.lvh.me
However, this will not work for mobile because lvh.me is redirecting to the IP 127.0.0.1 .
Is there a way to access a subdomain on an IP address? Essentially, doing the same thing as the above code but allowing for a dynamic IP address depending on the IP my computer has at the time?
So, after continuing research, I found an awesome tool that allows for exactly the above functionality:
xip.io
For example, if my computer has the IP address of 124.4.1.3 and I was running a web server at blog.lvh.me, where lvh.me redirects to localhost or 127.0.0.1, I could access my computer's localhost from another device on the network using blog.124.4.1.3.xip.io
I hope that helps someone!
Sidenote: The app in question was running on a rails server and the above setup required the following setting to be added to the environments/development.rb file:
config.action_dispatch.tld_length = 5
As rails was running on port 3000, this also required a url like:
blog.124.4.1.3.xip.io:3000

apache camel - deploying with cxfs web service

I'm trying to deploy my camel app which on start is creating a cxfrs endpoint. The url is like this: http://localhost:9876 . When I try to hit this one on a rest client or anywhere within my machine it works. But when I try to access it using my phone or other external devices, I'm not able to connect.
Am I missing something?
TIA
Using localhost will mean it is only accessible to your local machine, using 0.0.0.0 instead should make it publicly accessible.
0.0.0.0 should bind all available network interface on your remote machine, but from your description, somehow it only bind to localhost|127.0.0.1 so only accessible from local machine, could you use
http://external.ip.address:9876/foo/FooService
instead to see if it helps?
Also, you can try to access other network service(for example start a tomcat on remote machine and see if you can access it from your local machine) from that remote machine to see if it works, this can determine if your DNS correct or if there's really no firewall between them.

How to access JBOSS Restful web service using IP and Port

I created a test JBOSS web service and there is only one test method in it. I access this using http://localhost:8070/MyWebService/MyRESTApplication
and it shows the result from the web service. I tried this in both Eclipse and Browser and it works.
But when i want to access this web service using IP address of my system then it shows ERROR message that Page cannot be displayed (in fact browser is not able to find this web service).
I want to access like this http://IPaddress:8070/MyWebService/MyRESTApplication
what should i do so that i can access it using my IP from some computer
You have to start JBoss using :
./run.sh -b [your_IPaddress]
On windows:
start run.bat -b 0.0.0.0
This will tell it to start and bind to all network interfaces. You can also replace 0.0.0.0 with your actual IP if you only want it to bind to that network interface.
I find it easier for debugging to have it come up on all network interfaces because this will work when you are running a virtual machine to debug something like Internet Explorer.
Open your server setting in Eclipse and set Host name as your IP address or 0.0.0.0