|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Ajoutez des déploiements et des services avec le sidecar Istio
|
Rancher-Istio a cessé la prise en charge depuis Rancher v2.12.0 ; tournez-vous vers l’SUSE Application Collection d’Istio pour une sécurité renforcée (incluse dans les abonnements SUSE Rancher Prime). Des informations détaillées peuvent être trouvées dans cette annonce. |
|
Condition préalable :
Pour activer Istio pour une charge de travail, le cluster et l’espace de noms doivent avoir l’appli Istio installée. |
Activer Istio dans un espace de noms n’active que l’injection automatique du sidecar pour les nouvelles charges de travail. Pour activer le sidecar Envoy pour les charges de travail existantes, vous devez l’activer manuellement pour chaque charge de travail.
Pour injecter le sidecar Istio sur une charge de travail existante dans l’espace de noms,
-
Dans le coin supérieur gauche, cliquez sur ☰ > Gestion des clusters.
-
Sur la page Clusters, allez au cluster où vous souhaitez voir les visualisations et cliquez sur Explorer.
-
Cliquez sur Charge de travail.
-
Allez à la charge de travail où vous souhaitez injecter le sidecar Istio et cliquez sur ⋮ > Redeployer. Lorsque la charge de travail est redéployée, elle aura le sidecar Envoy automatiquement injecté.
Attendez quelques minutes pour que la charge de travail soit mise à niveau avec le sidecar Istio. Cliquez dessus et allez à la section Conteneurs. Vous devriez pouvoir voir istio-proxy à côté de votre charge de travail d’origine. Cela signifie que le sidecar Istio est activé pour la charge de travail. Istio s’occupe de tout le câblage pour le sidecar Envoy. Maintenant, Istio peut effectuer toutes les fonctionnalités automatiquement si vous les activez dans le yaml.
Ajoutez des déploiements et des services
Il existe plusieurs façons d’ajouter de nouveaux Déploiements dans votre espace de noms :
-
Cliquez sur ☰ > Gestion des clusters.
-
Allez dans le cluster que vous avez créé et cliquez sur Explorer.
-
Cliquez sur Charge de travail.
-
Cliquez sur Create.
-
Cliquez sur Déploiement.
-
Remplissez le formulaire, ou Modifier en Yaml.
-
Cliquez sur Create.
Pour ajouter un Service à votre espace de noms :
-
Cliquez sur ☰ > Gestion des clusters.
-
Allez au cluster que vous avez créé et cliquez sur Explorer.
-
Cliquez sur menu:Découverte de service[Services].
-
Cliquez sur Create.
-
Sélectionnez le type de service que vous souhaitez.
-
Remplissez le formulaire, ou Modifier en Yaml.
-
Cliquez sur Create
Vous pouvez également créer des déploiements et des services en utilisant le kubectl shell
-
Exécutez
kubectl create -f <name of service/deployment file>.yamlsi votre fichier est stocké localement dans le cluster -
Ou exécutez `cat<< EOF | kubectl apply -f -`, collez le contenu du fichier dans le terminal, puis exécutez
EOFpour compléter la commande.
Exemples de déploiements et de services
Ensuite, nous ajoutons les ressources Kubernetes pour les déploiements et services d’exemple pour l’application BookInfo dans la documentation d’Istio.
-
Cliquez sur ☰ > Gestion des clusters.
-
Allez au cluster que vous avez créé et cliquez sur Explorer.
-
Dans la barre de navigation supérieure, ouvrez le shell kubectl.
-
Exécutez
cat<< EOF | kubectl apply -f - -
Copiez les ressources ci-dessous dans le shell.
-
Exécutez
EOF
Cela mettra en place les ressources d’exemple suivantes de l’application BookInfo d’Istio :
Détails du service et du déploiement :
-
Un service
details -
Un ServiceAccount pour
bookinfo-details -
Un déploiement
details-v1
Service et déploiement des notations :
-
Un service
ratings -
Un ServiceAccount pour
bookinfo-ratings -
Un déploiement
ratings-v1
Services et déploiements d’avis (trois versions) :
-
Un service
reviews -
Un ServiceAccount pour
bookinfo-reviews -
Un déploiement
reviews-v1 -
Un déploiement
reviews-v2 -
Un déploiement
reviews-v3
Service et déploiement de la page produit :
Ceci est la page principale de l’appli, qui sera visible depuis un navigateur web. Les autres services seront appelés depuis cette page.
-
Un service
productpage -
Un ServiceAccount pour
bookinfo-productpage -
Un déploiement
productpage-v1
YAML de ressource
# Copyright 2017 Istio Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##################################################################################################
# Details service
##################################################################################################
apiVersion: v1
kind: Service
metadata:
name: details
labels:
app: details
service: details
spec:
ports:
- port: 9080
name: http
selector:
app: details
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bookinfo-details
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: details-v1
labels:
app: details
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: details
version: v1
template:
metadata:
labels:
app: details
version: v1
spec:
serviceAccountName: bookinfo-details
containers:
- name: details
image: docker.io/istio/examples-bookinfo-details-v1:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
##################################################################################################
# Ratings service
##################################################################################################
apiVersion: v1
kind: Service
metadata:
name: ratings
labels:
app: ratings
service: ratings
spec:
ports:
- port: 9080
name: http
selector:
app: ratings
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bookinfo-ratings
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ratings-v1
labels:
app: ratings
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: ratings
version: v1
template:
metadata:
labels:
app: ratings
version: v1
spec:
serviceAccountName: bookinfo-ratings
containers:
- name: ratings
image: docker.io/istio/examples-bookinfo-ratings-v1:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
##################################################################################################
# Reviews service
##################################################################################################
apiVersion: v1
kind: Service
metadata:
name: reviews
labels:
app: reviews
service: reviews
spec:
ports:
- port: 9080
name: http
selector:
app: reviews
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bookinfo-reviews
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: reviews-v1
labels:
app: reviews
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: reviews
version: v1
template:
metadata:
labels:
app: reviews
version: v1
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v1:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: reviews-v2
labels:
app: reviews
version: v2
spec:
replicas: 1
selector:
matchLabels:
app: reviews
version: v2
template:
metadata:
labels:
app: reviews
version: v2
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v2:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: reviews-v3
labels:
app: reviews
version: v3
spec:
replicas: 1
selector:
matchLabels:
app: reviews
version: v3
template:
metadata:
labels:
app: reviews
version: v3
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v3:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
##################################################################################################
# Productpage services
##################################################################################################
apiVersion: v1
kind: Service
metadata:
name: productpage
labels:
app: productpage
service: productpage
spec:
ports:
- port: 9080
name: http
selector:
app: productpage
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bookinfo-productpage
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: productpage-v1
labels:
app: productpage
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: productpage
version: v1
template:
metadata:
labels:
app: productpage
version: v1
spec:
serviceAccountName: bookinfo-productpage
containers:
- name: productpage
image: docker.io/istio/examples-bookinfo-productpage-v1:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---