razee-io / Razee

Overview and docs
Apache License 2.0
423 stars 36 forks source link

Use kind for local deployments of razee components #87

Open NellaFej opened 4 years ago

NellaFej commented 4 years ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

There is a problem with deploying locally to minikube in that one of the docs says you need a cluster with at least two nodes. Also, minikube is not fully compatible with deployments to IKS. In deploying to our IKS cluster I hit an issue with having an ALB that requires an ingress.

Describe the solution you'd like A clear and concise description of what you want to happen.

I think the instructions for installing razee locally should be using kind (kubernetes in docker: https://kind.sigs.k8s.io/docs/user/quick-start/). Kind is a certified knative implementation of kubernetes. It allows for multiple clusters and multiple nodes per cluster.

Using kind with the metallb product (see below) allows a seamless install of razeedash locally. Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. minikube - not ok as it is limited

Additional context Add any other context or screenshots about the feature request here. One additional piece of information. Kind was not working as a solution because of the requirement of having load balancer services. Since load balancers require an external IP and that IP is allocated by the cloud provider there is a problem, kind is not running in a cloud. I found a product that gets around this by using the docker network as the external IP, the product is metallb (https://metallb.universe.tf/concepts/), this appears to be approved for use by the OSSC. Here is a guide on implementing: https://mauilion.dev/posts/kind-metallb/

NellaFej commented 4 years ago

Update, the link to metallb is old, use this install link: https://raw.githubusercontent.com/google/metallb/v0.8.3/manifests/metallb.yaml

Also, you need to install the metallb config, manually (see docs) or via git link: kubectl apply -f https://git.io/km-config.yaml

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

mckaymic commented 4 years ago

We are looking at better ways to deploy the Razee components, both in a dev environment and in production environments. I get the irony that Razee is supposed to help make deployments easier while deploying Razee itself can be a small challenge.

mckaymic commented 4 years ago

In the meantime I'm going to put this in the backlog while we figure out a wider solution.