Run e2e test with simulation of k8s

7/11/2019

we want to create e2e test (integration test ) for our applications on k8s and we want to use minikube but it seems that there is no proper (maintained or official ) docker file for minikube. at least I didn’t find any…In addition I see k3s and not sure which is better to run e2e test on k8s ?

I found this docker file but when I build it it fails with errors

https://aspenmesh.io/2018/01/building-istio-with-minikube-in-a-container-and-jenkins/

e - –no-install-recommends error

any idea ?

-- Rayn D
docker
k3s
kubernetes
minikube

2 Answers

7/12/2019

As to the problem you encountered when building image from this particular Dockerfile...

I found this docker file but when I build it it fails with errors

https://aspenmesh.io/2018/01/building-istio-with-minikube-in-a-container-and-jenkins/

e - –no-install-recommends error

any idea ?

notice that:

--no-install-recommends install

and

–no-install-recommends install

are two completely different strings. So that the error you get:

E: Invalid operation –no-install-recommends

is the result you've copied content of your Dockerfile from here and you should have rather copied it from github (you can even click raw button there to be 100% sure you copy totally plain text without any additional formatting, changed encoding etc.)

-- mario
Source: StackOverflow

7/11/2019

Currently there's no official way to run minikube from within a container. Here's a two months old quote from one of minikube's contributors:

It is on the roadmap. For now, it is VM based.

If you decide to go with using a VM image containing minikube, there are some guides how to do it out there. Here's one called "Using Minikube as part of your CI/CD flow ".

Alternatively, there's a project called MicroK8S backed by Canonical. In a Kubernetes Podcast ep. 39 from February, Dan Lorenc mentions this:

MicroK8s is really exciting. That's based on some new features of recent Ubuntu distributions to let you run a Kubernetes environment in an isolated fashion without using a virtual machine. So if you happen to be on one of those Ubuntu distributions and can take advantage of those features, then I would definitely recommend MicroK8s.

I don't think he's referring to running minikube in a container though, but I am not fully sure: I'd enter a Ubuntu container, try to install microk8s as a package, then see what happens.

That said, unless there's a compelling reason you want to run kubernetes from within a container and you are ready to spend the time going the possible rabbit hole – I think these days running minikube, k3s or microk8s from within a VM should be the safest bet if you want to get up and running with a CI/CD pipeline relatively quickly.

-- gmile
Source: StackOverflow