# Installation de Calico

# Installation :

```kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.30.3/manifests/tigera-operator.yaml```

suite a cette commande vous devriez avoir un résultat dans ce genre là : 

```
namespace/tigera-operator created
serviceaccount/tigera-operator created
clusterrole.rbac.authorization.k8s.io/tigera-operator-secrets created
clusterrole.rbac.authorization.k8s.io/tigera-operator created
clusterrolebinding.rbac.authorization.k8s.io/tigera-operator created
rolebinding.rbac.authorization.k8s.io/tigera-operator-secrets created
deployment.apps/tigera-operator created
```

suite a ça ont va télécharger le YAML : 

```wget https://raw.githubusercontent.com/projectcalico/calico/v3.30.3/manifests/custom-resources.yaml```

Puis on édite le YAML pour spécifié notre sous réseau dans mon cas "10.244.0.0/16".

Une fois cela fait on peut appliquer la configuration : 

```kubectl apply -f custom-resources.yaml```

On peut ensuite surveiller le déployment des conteneur avec la commande suivante : 

```watch kubectl get tigerastatus```

Le résultat attendu est le suivant : 

```
NAME                            AVAILABLE   PROGRESSING   DEGRADED   SINCE
apiserver                       True        False         False      4m9s
calico                          True        False         False      3m29s
goldmane                        True        False         False      3m39s
ippools                         True        False         False      6m4s
whisker                         True        False         False      3m19s
```

Une fois que tout est "True" ont peut vérifié l'etat du cluster ```kubectl get nodes``` et ont doit avoir un résultat comme ça :
```
NAME     STATUS   ROLES           AGE   VERSION
k8s-m1   Ready    control-plane   90m   v1.34.1
k8s-m2   Ready    control-plane   82m   v1.34.1
k8s-m3   Ready    control-plane   80m   v1.34.1
k8s-w1   Ready    <none>          70m   v1.34.1
k8s-w2   Ready    <none>          69m   v1.34.1
k8s-w3   Ready    <none>          69m   v1.34.1
```
Ont peut ensuite vérifié l'etat du réseau avec l'outil intégré a calico avec la commande suivante : 

```kubectl port-forward -n calico-system service/whisker 8081:8081 --address 0.0.0.0```

Une fois cette commmande lancé rendez vous sur votre naviguateur et aller a l'adresse du master 1 avec le port 8081 : ```http://192.168.20.240:8081```

Il est normal que la commande n'aboutisse pas car c'est temporaire suite a la vérification vous pouvez annulé la redirection de port en faisant ^C.