Init French translation (#12548)

This commit is contained in:
Rémy Léone
2019-02-13 18:29:21 +01:00
committed by Kubernetes Prow Robot
parent 0470ce5688
commit a5cda6edea
20 changed files with 751 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
# See the OWNERS docs at https://go.k8s.io/owners
# This is the localization project for French.
# Teams and members are visible at https://github.com/orgs/kubernetes/teams.
reviewers:
- sig-docs-fr-reviews
approvers:
- sig-docs-fr-owners
labels:
- language/fr
+3
View File
@@ -0,0 +1,3 @@
---
headless: true
---
+3
View File
@@ -0,0 +1,3 @@
---
title: Documentation
---
+269
View File
@@ -0,0 +1,269 @@
---
titre : Hello Minikube
content_template : templates/tutorial
poids : 5
menu :
principal :
titre : "Démarrer"
poids : 10
poste : >
<p>Prêt à vous salir les mains ? Créez un cluster Kubernetes simple qui exécute "Hello World" pour Node.js.</p>>.
---
{{% capture overview %}}
Ce tutoriel vous montre comment exécuter une simple application Hello World Node.js sur Kubernetes en utilisant [Minikube](/docs/getting-start-guides/minikube) et Katacoda.
Katacoda fournit un environnement Kubernetes gratuit dans le navigateur.
{{< note >}}
Vous pouvez également suivre ce tutoriel si vous avez installé [Minikube localement](/docs/tasks/tools/install-minikube/).
{{< /note >}}
{{% /capture %}}
{{% capture objectives %}}
* Déployez une application Hello World sur Minikube.
* Lancez l'application.
* Afficher les journaux des applications.
{{% /capture %}}
{{% capture prerequisites %}}
Ce tutoriel fournit une image de conteneur construite à partir des fichiers suivants :
{{< codenew language="js" file="minikube/server.js" >}}
{{< codenew language="conf" file="minikube/Dockerfile" >}}
Pour plus d'informations sur la commande `docker build`, lisez la documentation de[Docker](https://docs.docker.com/engine/reference/commandline/build/).
{{% /capture %}}
{{% capture lessoncontent %}}
## Créer un cluster Minikube
1. Cliquez sur **Lancer le terminal**.
{{< kat-button >}}
{{< note >}} Si vous avez installé Minikube localement, lancez `minikube start`. {{< /note >}}
2. Ouvrez le tableau de bord Kubernetes dans un navigateur :
```shell
minikube dashboard
```
3. Environnement Katacoda seulement : En haut du volet du terminal, cliquez sur le signe plus, puis cliquez sur **Sélectionner le port pour afficher sur l'hôte 1**.
4. Environnement Katacoda seulement : Tapez `30000`, puis cliquez sur **Afficher le port**.
## Créer un déploiement
Un [*Pod*](/docs/concepts/workloads/pods/pods/pod/) Kubernetes est un groupe d'un ou plusieurs conteneurs, liés entre eux à des fins d'administration et de mise en réseau.
Dans ce tutoriel, le Pod n'a qu'un seul conteneur.
Un [*Déploiement*](/docs/concepts/concepts/charges de travail/contrôleurs/déploiement/) Kubernetes vérifie l'état de santé de votre Pod et redémarre le conteneur du Pod s'il se termine.
Les déploiements sont le moyen recommandé pour gérer la création et la mise à l'échelle des Pods.
1. Utilisez la commande `kubectl create` pour créer un déploiement qui gère un Pod. Le
Pod utilise un conteneur basé sur l'image Docker fournie.
```shell
kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node
```
2. Affichez le déploiement :
```shell
Déploiements de kubectl
```
Sortie :
```shell
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
hello-node 1 1 1 1 1m
```
3. Voir le Pod :
```shell
kubectl get pods
```
Sortie :
```shell
NAME READY STATUS RESTARTS AGE
hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m
```
4. Afficher les événements du cluster :
```shell
kubectl get events
```
5. Voir la configuration de `kubectl` :
```shell
kubectl config view
```
{{< note >}}Pour plus d'informations sur les commandes `kubectl`, voir la [vue d'ensemble de kubectl](/docs/user-guide/kubectl-overview/) {{< /note >}}.
## Créer un service
Par défaut, le Pod n'est accessible que par son adresse IP interne dans le
Kubernetes cluster.
Pour rendre le conteneur `hello-node` accessible de l'extérieur du réseau virtuel Kubernetes, vous devez exposer le Pod comme un [*Service*](/docs/concepts/services-networking/service/) Kubernetes.
1. Exposez le Pod à l'Internet public en utilisant la commande `kubectl expose` :
```shell
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
```
L'indicateur `--type=LoadBalancer` indique que vous voulez exposer votre Service
à l'extérieur du cluster.
2. Affichez le Service que vous venez de créer :
```shell
kubectl get services
```
Sortie :
```shell
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-node LoadBalancer 10.108.144.78 <pending> 8080:30369/TCP 21s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23m
```
Sur les fournisseurs de cloud qui supportent les load balancers, une adresse IP externe serait fournie pour accéder au Service.
Sur Minikube, le type `LoadBalancer` rend le Service accessible via la commande `minikube service`.
3. Exécutez la commande suivante :
```shell
minikube service hello-node hello-node
```
4. Environnement Katacoda seulement : Cliquez sur le signe plus, puis cliquez sur **Sélectionner le port pour afficher sur l'hôte 1**.
5. Environnement Katacoda seulement : Tapez `30369` (voir port en face de `8080` dans la sortie services), puis cliquez sur **Afficher le port**.
Cela ouvre une fenêtre de navigateur qui sert votre application et affiche le message `Hello World`.
## Activer les addons
Minikube dispose d'un ensemble d'addons intégrés qui peuvent être activés, désactivés et ouverts dans l'environnement Kubernetes local.
1. Énumérer les addons actuellement pris en charge :
```shell
minikube addons list
```
Sortie:
```
addon-manager: enabled
coredns: disabled
dashboard: enabled
default-storageclass: enabled
efk: disabled
freshpod: disabled
heapster: disabled
ingress: disabled
kube-dns: enabled
metrics-server: disabled
nvidia-driver-installer: disabled
nvidia-gpu-device-plugin: disabled
registry: disabled
registry-creds: disabled
storage-provisioner: enabled
```
2. Activez un addon, par exemple, `heapster` :
```shell
minikube addons enable heapster
```
Sortie :
```shell
heapster was successfully enabled
```
3. Affichez le pod et le service que vous venez de créer :
```shell
kubectl get pod,svc -n kube-system
```
Sortie :
```shell
NAME READY STATUS RESTARTS AGE
pod/heapster-9jttx 1/1 Running 0 26s
pod/influxdb-grafana-b29w8 2/2 Running 0 26s
pod/kube-addon-manager-minikube 1/1 Running 0 34m
pod/kube-dns-6dcb57bcc8-gv7mw 3/3 Running 0 34m
pod/kubernetes-dashboard-5498ccf677-cgspw 1/1 Running 0 34m
pod/storage-provisioner 1/1 Running 0 34m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/heapster ClusterIP 10.96.241.45 <none> 80/TCP 26s
service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 34m
service/kubernetes-dashboard NodePort 10.109.29.1 <none> 80:30000/TCP 34m
service/monitoring-grafana NodePort 10.99.24.54 <none> 80:30002/TCP 26s
service/monitoring-influxdb ClusterIP 10.111.169.94 <none> 8083/TCP,8086/TCP 26s
```
4. Désactivez `heapster` :
```shell
minikube addons disable heapster
```
Sortie :
```shell
heapster was successfully disabled
```
## Nettoyage
Vous pouvez maintenant nettoyer les ressources que vous avez créées dans votre cluster :
```shell
kubectl delete service hello-node
kubectl delete deployment hello-node
```
Si nécessaire, arrêtez la machine virtuelle Minikube (VM) :
```shell
minikube stop
```
Si nécessaire, effacez le Minikube VM :
```shell
minikube delete
```
{{% /capture %}}
{{% capture whatsnext %}}
* En savoir plus sur les [déploiement](/docs/concepts/workloads/controllers/deployment/).
* En savoir plus sur le [Déploiement d'applications](/docs/user-guide/deploying-applications/).
* En savoir plus sur les [Services](/docs/concepts/services-networking/service/).
{{% /capture %}}
@@ -0,0 +1,19 @@
apiVersion: apps/v1 # apps/v1beta2를 사용하는 1.9.0보다 더 이전의 버전용
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # 템플릿에 매칭되는 파드 2개를 구동하는 디플로이먼트임
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
@@ -0,0 +1,38 @@
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: frontend
labels:
app: guestbook
spec:
selector:
matchLabels:
app: guestbook
tier: frontend
replicas: 3
template:
metadata:
labels:
app: guestbook
tier: frontend
spec:
containers:
- name: php-redis
image: gcr.io/google-samples/gb-frontend:v4
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: GET_HOSTS_FROM
value: dns
# Using `GET_HOSTS_FROM=dns` requires your cluster to
# provide a dns service. As of Kubernetes 1.3, DNS is a built-in
# service launched automatically. However, if the cluster you are using
# does not have a built-in DNS service, you can instead
# access an environment variable to find the master
# service's host. To do so, comment out the 'value: dns' line above, and
# uncomment the line below:
# value: env
ports:
- containerPort: 80
@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
app: guestbook
tier: frontend
spec:
# comment or delete the following line if you want to use a LoadBalancer
type: NodePort
# if your cluster supports it, uncomment the following to automatically create
# an external load-balanced IP for the frontend service.
# type: LoadBalancer
ports:
- port: 80
selector:
app: guestbook
tier: frontend
@@ -0,0 +1,29 @@
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: redis-master
labels:
app: redis
spec:
selector:
matchLabels:
app: redis
role: master
tier: backend
replicas: 1
template:
metadata:
labels:
app: redis
role: master
tier: backend
spec:
containers:
- name: master
image: k8s.gcr.io/redis:e2e # or just image: redis
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379
@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: redis-master
labels:
app: redis
role: master
tier: backend
spec:
ports:
- port: 6379
targetPort: 6379
selector:
app: redis
role: master
tier: backend
@@ -0,0 +1,40 @@
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: redis-slave
labels:
app: redis
spec:
selector:
matchLabels:
app: redis
role: slave
tier: backend
replicas: 2
template:
metadata:
labels:
app: redis
role: slave
tier: backend
spec:
containers:
- name: slave
image: gcr.io/google_samples/gb-redisslave:v1
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: GET_HOSTS_FROM
value: dns
# Using `GET_HOSTS_FROM=dns` requires your cluster to
# provide a dns service. As of Kubernetes 1.3, DNS is a built-in
# service launched automatically. However, if the cluster you are using
# does not have a built-in DNS service, you can instead
# access an environment variable to find the master
# service's host. To do so, comment out the 'value: dns' line above, and
# uncomment the line below:
# value: env
ports:
- containerPort: 6379
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: redis-slave
labels:
app: redis
role: slave
tier: backend
spec:
ports:
- port: 6379
selector:
app: redis
role: slave
tier: backend
@@ -0,0 +1,13 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: php-apache
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: php-apache
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 50
+4
View File
@@ -0,0 +1,4 @@
FROM node:6.14.2
EXPOSE 8080
COPY server.js .
CMD node server.js
+9
View File
@@ -0,0 +1,9 @@
var http = require('http');
var handleRequest = function(request, response) {
console.log('Received request for URL: ' + request.url);
response.writeHead(200);
response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8080);
@@ -0,0 +1,2 @@
maxmemory 2mb
maxmemory-policy allkeys-lru
@@ -0,0 +1,30 @@
apiVersion: v1
kind: Pod
metadata:
name: redis
spec:
containers:
- name: redis
image: kubernetes/redis:v1
env:
- name: MASTER
value: "true"
ports:
- containerPort: 6379
resources:
limits:
cpu: "0.1"
volumeMounts:
- mountPath: /redis-master-data
name: data
- mountPath: /redis-master
name: config
volumes:
- name: data
emptyDir: {}
- name: config
configMap:
name: example-redis-config
items:
- key: redis-config
path: redis.conf