rancher / rio

Application Deployment Engine for Kubernetes
https://rio.io
Apache License 2.0
2.27k stars 228 forks source link

Port on fresh cluster #1041

Closed Hantse closed 4 years ago

Hantse commented 4 years ago

Describe the bug On clean and fresh K8S cluster, when i install and launch rio dashboard, port is added. On cluster, the port 443 & 80 is free to use. Sample :

https://dashboard-rio-system.xxxxxx.on-rio.io:32308/dashboard/

The issue it's also on container when i do rio up

https://tools-monitoring-cb6c1d83-default.xxxx.on-rio.io:32308/

To Reproduce

  1. Clean cluster create on VPS from Contabo provider.
  2. Use this link for create cluster
  3. Install rio and launch dashboard

Expected behavior The dashboard is reacheable by provide URL by installer, without added port.

Kubernetes version & type (GKE, on-prem): kubectl version

Client Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.6-beta.0", GitCommit:"e7f962ba86f4ce7033828210ca3556393c377bcc", GitTreeState:"clean", BuildDate:"2020-01-15T08:26:26Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:48:36Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

Type: Rio version: rio info

Rio Version: v0.7.0 (4afd4901)
Rio CLI Version: v0.7.0 (4afd4901)
Cluster Domain: xxxxx.on-rio.io
Cluster Domain IPs: xx.xxx.xxx.xxx
System Namespace: rio-system
Wildcard certificates: xxxxx.on-rio.io(true)

Additional context rio system logs output:

rio-controller | time="2020-05-14T18:09:45Z" level=info msg="Starting rio-controller, version: v0.7.0, git commit: 4afd4901"
rio-controller | time="2020-05-14T18:09:45Z" level=info msg="Updating CRD services.rio.cattle.io"
rio-controller | time="2020-05-14T18:09:46Z" level=info msg="Updating CRD stacks.rio.cattle.io"
rio-controller | I0514 18:09:46.450125       1 leaderelection.go:241] attempting to acquire leader lease  rio-system/rio...
rio-controller | time="2020-05-14T18:09:46Z" level=info msg="listening at :443"
rio-controller | I0514 18:09:46.462961       1 leaderelection.go:251] successfully acquired lease rio-system/rio
rio-controller | time="2020-05-14T18:09:47Z" level=info msg="Starting /v1, Kind=ConfigMap controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting apps/v1, Kind=Deployment controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting gloo.solo.io/v1, Kind=Settings controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting apps/v1, Kind=StatefulSet controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting apps/v1, Kind=DaemonSet controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting tekton.dev/v1alpha1, Kind=TaskRun controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting /v1, Kind=Service controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting cert-manager.io/v1alpha2, Kind=Certificate controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting /v1, Kind=Secret controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting rbac.authorization.k8s.io/v1, Kind=ClusterRole controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting /v1, Kind=Endpoints controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting admin.rio.cattle.io/v1, Kind=PublicDomain controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting admin.rio.cattle.io/v1, Kind=ClusterDomain controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting extensions/v1beta1, Kind=Ingress controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting rbac.authorization.k8s.io/v1, Kind=ClusterRoleBinding controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting rio.cattle.io/v1, Kind=ExternalService controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting rio.cattle.io/v1, Kind=Service controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting gitwatcher.cattle.io/v1, Kind=GitCommit controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting rio.cattle.io/v1, Kind=Router controller"
rio-controller | time="2020-05-14T18:09:49Z" level=info msg="Starting rio.cattle.io/v1, Kind=Stack controller"
StrongMonkey commented 4 years ago

@Hantse The port you are seeing from the url(32308) is a node port that exposes rio api gateway. Rio will first try to use 80/443 port on your service load balancer(also points to api gateway) then fallback to nodeport. In this case your service loadbalancer provider is missing from your cluster, which is quite normal if you are using bare-metal cluster that doesn't have a cloud provider for service loadbalancer.

Hantse commented 4 years ago

OK, thank you for response.

Is suppose it's link to Ingress missing ?

The only solution it's https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ ?

Kind regards,

Hantse commented 4 years ago

Thank for support,

For solve issue i have follow this links :

Ajouter MetalLB : https://metallb.universe.tf/installation/

Configurer : https://metallb.universe.tf/configuration/

Ajouter Ingress : https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal