Skip to content

Commit

Permalink
language-fr: setup custom-cloud kubespray (#12660)
Browse files Browse the repository at this point in the history
  • Loading branch information
Smana authored and k8s-ci-robot committed Feb 23, 2019
1 parent 224cebb commit 99a52da
Showing 1 changed file with 124 additions and 0 deletions.
124 changes: 124 additions & 0 deletions content/fr/docs/setup/custom-cloud/kubespray.md
@@ -0,0 +1,124 @@
---
title: Installer Kubernetes avec Kubespray (on-premises et fournisseurs de cloud)
content_template: templates/concept
---

{{% capture overview %}}

Cette documentation permet d'installer rapidement un cluster Kubernetes hébergé sur GCE, Azure, Openstack, AWS, vSphere, Oracle Cloud Infrastructure (expérimental) ou sur des serveurs physiques (bare metal) grâce à [Kubespray](https://github.com/kubernetes-incubator/kubespray).

Kubespray se base sur des outils de provisioning, des [paramètres](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/ansible.md) et playbooks [Ansible](http://docs.ansible.com/) ainsi que sur des connaissances spécifiques à Kubernetes et l'installation de systèmes d'exploitation afin de fournir:

* Un cluster en haute disponibilité
* des composants modulables
* Le support des principales distributions Linux:
* Container Linux de CoreOS
* Debian Jessie, Stretch, Wheezy
* Ubuntu 16.04, 18.04
* CentOS/RHEL 7
* Fedora/CentOS Atomic
* openSUSE Leap 42.3/Tumbleweed
* des tests d'intégration continue

Afin de choisir l'outil le mieux adapté à votre besoin, veuillez lire [cette comparaison](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/comparisons.md) avec [kubeadm](/docs/admin/kubeadm/) et [kops](../kops).

{{% /capture %}}

{{% capture body %}}

## Créer un cluster

### (1/5) Prérequis

Les serveurs doivent être installés en s'assurant des éléments suivants:

* **Ansible v2.6 (ou version plus récente) et python-netaddr installés sur la machine qui exécutera les commandes Ansible**
* **Jinja 2.9 (ou version plus récente) est nécessaire pour exécuter les playbooks Ansible**
* Les serveurs cibles doivent avoir **accès à Internet** afin de télécharger les images Docker. Autrement, une configuration supplémentaire est nécessaire, (se référer à [Offline Environment](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/downloads.md#offline-environment))
* Les serveurs cibles doivent être configurés afin d'autoriser le transfert IPv4 (**IPv4 forwarding**)
* **Votre clé ssh doit être copiée** sur tous les serveurs faisant partie de votre inventaire Ansible.
* La configuration du **pare-feu n'est pas gérée**. Vous devrez vous en charger en utilisant votre méthode habituelle. Afin d'éviter tout problème pendant l'installation nous vous conseillons de le désacttiver.
* Si Kubespray est exécuté avec un utilisateur autre que "root", une méthode d'autorisation appropriée devra être configurée sur les serveurs cibles (exemple: sudo). Il faudra aussi utiliser le paramètre `ansible_become` ou ajouter `--become` ou `b` à la ligne de commande.

Afin de vous aider à préparer votre de votre environnement, Kubespray fournit les outils suivants:

* Scripts [Terraform](https://www.terraform.io/) pour les fournisseurs de cloud suivants:
* [AWS](https://github.com/kubernetes-incubator/kubespray/tree/master/contrib/terraform/aws)
* [OpenStack](https://github.com/kubernetes-incubator/kubespray/tree/master/contrib/terraform/openstack)

### (2/5) Construire un fichier d'inventaire Ansible

Lorsque vos serveurs sont disponibles, créez un fichier d'inventaire Ansible ([inventory](http://docs.ansible.com/ansible/intro_inventory.html)).
Vous pouvez le créer manuellement ou en utilisant un script d'inventaire dynamique. Pour plus d'informations se référer à [Building your own inventory](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/getting-started.md#building-your-own-inventory).

### (3/5) Préparation au déploiement de votre cluster

Kubespray permet de personnaliser de nombreux éléments:

* Choix du mode: kubeadm ou non-kubeadm
* Plugins CNI (réseau)
* Configuration du DNS
* Choix du control plane: natif/binaire ou dans un conteneur docker/rkt
* Version de chaque composant
* "route reflectors" Calico
* Moteur de conteneur
* docker
* rkt
* cri-o
* Méthode de génération des certificats (**Vault n'étant plus maintenu**)

Ces paramètres Kubespray peuvent être définis dans un fichier de [variables](http://docs.ansible.com/ansible/playbooks_variables.html).
Si vous venez juste de commencer à utiliser Kubespray nous vous recommandons d'utiliser les paramètres par défaut pour déployer votre cluster et découvrir Kubernetes

### (4/5) Déployer un Cluster

Vous pouvez ensuite lancer le déploiement de votre cluster:

Déploiement du cluster en utilisant l'outil en ligne de commande [ansible-playbook](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/getting-started.md#starting-custom-deployment).

```shell
ansible-playbook -i your/inventory/hosts.ini cluster.yml -b -v \
--private-key=~/.ssh/private_key
```

Pour des déploiements plus importants (>100 noeuds) quelques [ajustements](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/large-deployments.md) peuvent être nécessaires afin d'obtenir de meilleurs résultats.

### (5/5) Vérifier le déploiement

Kubespray fournit le moyen de vérifier la connectivité inter-pods ainsi que la résolution DNS grâce à [Netchecker](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/netcheck.md).
Les pods netchecker-agents s'assurent que la résolution DNS (services Kubernetes) ainsi que le ping entre les pods fonctionnent correctement.
Ces pods reproduisent un comportement similaire à celui des autres applications et offrent un indicateur de santé du cluster.

## Opérations sur le clutser

Kubespray fournit des playbooks supplémentaires qui permettent de gérer votre cluster: _scale_ et _upgrade_.

### Mise à l'échelle du cluster

Vous pouvez ajouter des noeuds à votre cluter en exécutant le playbook `scale`. Pour plus d'informations se référer à [Adding nodes](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/getting-started.md#adding-nodes).
vous pouvez retirer des noeuds de votre cluster en exécutant le playbook `remove-node`. Se référer à [Remove nodes](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/getting-started.md#remove-nodes).

### Mise à jour du cluster

Vous pouvez mettre à jour votre cluster en exécutant le playbook `upgrade-cluster`. Pour plus d'informations se référer à [Upgrades](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/upgrades.md).

## Nettoyage

Vous pouvez réinitialiser vos noeuds et supprimer tous les composants installés par Kubespray en utilisant le playbook [reset](https://github.com/kubernetes-incubator/kubespray/blob/master/reset.yml).

{{< caution >}}
Quand vous utilisez le playbook `reset`, assurez-vous de ne pas cibler accidentellement un cluster de production !
{{< /caution >}}

## Retours

* Channel Slack: [#kubespray](https://kubernetes.slack.com/messages/kubespray/)
* [Issues GitHub](https://github.com/kubernetes-incubator/kubespray/issues)

{{% /capture %}}

{{% capture whatsnext %}}

Jetez un oeil aux travaux prévus sur Kubespray: [roadmap](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/roadmap.md).

{{% /capture %}}

0 comments on commit 99a52da

Please sign in to comment.