ElasticBox / elastickube

ElasticKube is an open source management platform for Kubernetes.

Home Page:https://elastickube.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Installation: Setting up elastickube-server [ FAILED ]

skpeetha opened this issue · comments

Hi
I tried to install elastickube using
curl -s https://elastickube.com | bash
But the installation get struck at "elastickube-server"


| | | __ _ **| |() | |/ / | |** ___
| | | |/ ` / __| **| |/ _| ' / | | | ' \ / _
| |
**| | (
| __ \ |
| | (
| . \ |
| | |
) | /
|___
||__,|/||**||_**,|./ _| by ElasticBox

Checking kubectl is available [ ✓ ]
Verifying Kubernetes cluster [ ✓ ]
Setting up elastickube-mongo [ ✓ ]
Setting up elastickube-mongo svc [ ✓ ]
Setting up elastickube-server [ FAILED ]

My cluster is up and I see this in dashboard
Failed to start with docker id 9502c97a429f with error: API error (500): failed to create endpoint k8s_POD.613f02c9_elastickube-server-mwsq9_kube-system_29998e10-eb7f-11e5-b935-00232491226c_4d65b79a on network bridge: Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use Error syncing pod, skipping: API error (500): failed to create endpoint k8s_POD.613f02c9_elastickube-server-mwsq9_kube-system_29998e10-eb7f-11e5-b935-00232491226c_4d65b79a on network bridge: Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use

I see similar thing /var/log/upstart/docker.log

^[[33mWARN^[[0m[6627] Failed to allocate and map port 80-80: Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use ^[[33mWARN^[[0m[6627] failed to cleanup ipc mounts: failed to umount /var/lib/docker/containers/89178c7bf043076f059e5ca393b32039c65afe468d99123cfde4c4f94033b675/shm: no such file or directory ^[[31mERRO^[[0m[6627] Handler for POST /containers/89178c7bf043076f059e5ca393b32039c65afe468d99123cfde4c4f94033b675/start returned error: failed to create endpoint k8s_POD.613f02c9_elastickube-server-mwsq9_kube-system_29998e10-eb7f-11e5-b935-00232491226c_a75f9e27 on network bridge: Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use ^[[31mERRO^[[0m[6627] Handler for GET /images/elasticbox/elastickube-api:latest/json returned error: No such image: elasticbox/elastickube-api:latest ^[[31mERRO^[[0m[6627] Handler for GET /images/elasticbox/elastickube-charts:latest/json returned error: No such image: elasticbox/elastickube-charts:latest ^[[31mERRO^[[0m[6627] Handler for GET /images/elasticbox/elastickube-nginx:latest/json returned error: No such image: elasticbox/elastickube-nginx:latest ^[[31mERRO^[[0m[6636] Handler for GET /images/elasticbox/elastickube-api:latest/json returned error: No such image: elasticbox/elastickube-api:latest ^[[31mERRO^[[0m[6636] Handler for GET /images/elasticbox/elastickube-charts:latest/json returned error: No such image: elasticbox/elastickube-charts:latest ^[[31mERRO^[[0m[6636] Handler for GET /images/elasticbox/elastickube-nginx:latest/json returned error: No such image: elasticbox/elastickube-nginx:latest ^[[33mWARN^[[0m[6637] DEPRECATED: Setting host configuration options when the container starts is deprecated and will be removed in Docker 1.12

I found that by default kubernetes-dashboard service is using port 80 as well.
I changed port used dashboard in cluster/addons/dashboard/dashboard-service.yaml but i still see the same error.

Hi,

Yes the port conflict is the problem. If your cluster cannot allocate unique IPs per LoadBalancer you need to change the port to avoid conflicts. I will add some parameters to the script to make this easier, but in the meantime you can download the script and modify the port on the elasticbox-server service.

curl -s elastickube.com -o install.sh

The service yaml definition is embedded into the bash script, you can just change the port with any editor.

Let me know if this solves the issue.

hi! Try run next command

sudo netstat -natp | grep 80

this fail because some process already bind to 80 port. this command shows you what process this

@albertoarias I tried to run the script changing the port but it showed up the same error.
It worked when I manually released the port.
But now I got this

Waiting for LB to be ready [ FAILED ]

So I tried running this command
kubectl --namespace=kube-system describe svc elastickube-server
and I got this

Name: elastickube-server
Namespace: kube-system
Labels: name=elastickube-server
Selector: name=elastickube-server
Type: LoadBalancer
IP: 192.168.3.155
Port: 80/TCP
NodePort: 32359/TCP
Endpoints: 172.16.9.5:80
Session Affinity: None
No events.

Currently I have only one node in my cluster. I don't know if that was the issue.

Irrespective of this I am able to launch elastickube

Which LoadBalancer service are you using?

I will patch the setup script as currently we are looking for the string 'LoadBalancer Ingress:' which is not part of your output.

Best

@srikanthpeetha I already committed a fix, please reopen it if does not fix the issue.