# Installation

Il est intéressant d'installer Minikube afin de lancer kubernetes dans une machine virtuelle, [à trouver ici](https://minikube.sigs.k8s.io/docs/start/).

```shell
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

minikube start
```

Minikube doit ensuite installer kubectl qui est un client en ligne de commande permettant de contrôler le cluster kubernetes:

```shell
minikube kubectl -- get po -A
alias kubectl="minikube kubectl --"
```

On peut déployer une application de test pour vérifier le fonctionnement de Minikube et kubectl. Ici, on créé un conteneur de déploiement appelé `hello-minikube` ayant pour image docker `kicbase/echo-server:1.0` que l'on expose au port `8080`

```shell
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080
```

Il peut aussi être utile de faire une redirection de port, du `8080` au `7080` par exemple, pour y accéder à l'adresse `http://localhost:7080`

```shell
kubectl port-forward service/hello-minikube 7080:8080
```

Une fois créé, on peut lister le service et le démarrer.

```shell
kubectl get services hello-minikube
minikube service hello-minikube
```

Il est possible d'obtenir un dashboard des différents services et containers lancés.

```
minikube dashboard
```

Et supprimer un conteneur.

```
minikube kubectl -- delete deployment hello-minikube
```