4.5. Déployer votre première image
La manière la plus simple de déployer une application dans OpenShift Container Platform est d'exécuter une image de conteneur existante. La procédure suivante déploie un composant frontal d'une application appelée national-parks-app
. L'application web affiche une carte interactive. La carte indique l'emplacement des principaux parcs nationaux dans le monde.
Conditions préalables
- Vous devez avoir accès à un cluster OpenShift Container Platform.
-
Installez le CLI OpenShift (
oc
).
Procédure
Pour déployer une application, entrez la commande suivante :
oc new-app quay.io/openshiftroadshow/parksmap:latest --name=parksmap -l 'app=national-parks-app,component=parksmap,role=frontend,app.kubernetes.io/part-of=national-parks-app'
$ oc new-app quay.io/openshiftroadshow/parksmap:latest --name=parksmap -l 'app=national-parks-app,component=parksmap,role=frontend,app.kubernetes.io/part-of=national-parks-app'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.1. Création d'un itinéraire Copier lienLien copié sur presse-papiers!
Les clients externes peuvent accéder aux applications fonctionnant sur OpenShift Container Platform via la couche de routage et l'objet de données derrière cela est un route. Le routeur par défaut d'OpenShift Container Platform (HAProxy) utilise l'en-tête HTTP de la requête entrante pour déterminer où proxyer la connexion.
En option, vous pouvez définir la sécurité, telle que TLS, pour l'itinéraire.
Conditions préalables
- Vous devez avoir accès à un cluster OpenShift Container Platform.
-
Vous devez avoir installé l'OpenShift CLI (
oc
). - Vous avez une image déployée.
-
Vous devez avoir les privilèges
cluster-admin
ouproject-admin
.
Procédure
Pour récupérer le service d'application créé, entrez la commande suivante :
oc get service
$ oc get service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE parksmap ClusterIP <your-cluster-IP> <123.456.789> 8080/TCP 8m29s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE parksmap ClusterIP <your-cluster-IP> <123.456.789> 8080/TCP 8m29s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour créer une route, entrez la commande suivante :
oc create route edge parksmap --service=parksmap
$ oc create route edge parksmap --service=parksmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
route.route.openshift.io/parksmap created
route.route.openshift.io/parksmap created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour récupérer la route d'application créée, entrez la commande suivante :
oc get route
$ oc get route
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD parksmap parksmap-user-getting-started.apps.cluster.example.com parksmap 8080-tcp edge None
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD parksmap parksmap-user-getting-started.apps.cluster.example.com parksmap 8080-tcp edge None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2. Examen de la nacelle Copier lienLien copié sur presse-papiers!
OpenShift Container Platform s'appuie sur le concept Kubernetes de pod, qui est un ou plusieurs conteneurs déployés ensemble sur un hôte, et la plus petite unité de calcul qui peut être définie, déployée et gérée. Les pods sont l'équivalent approximatif d'une instance de machine, physique ou virtuelle, pour un conteneur.
Vous pouvez visualiser les pods de votre cluster et déterminer l'état de santé de ces pods et du cluster dans son ensemble.
Conditions préalables
- Vous devez avoir accès à un cluster OpenShift Container Platform.
-
Vous devez avoir installé l'OpenShift CLI (
oc
). - Vous avez une image déployée.
Procédure
Pour dresser la liste de tous les pods avec les noms de nœuds, entrez la commande suivante :
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY STATUS RESTARTS AGE parksmap-5f9579955-6sng8 1/1 Running 0 77s
NAME READY STATUS RESTARTS AGE parksmap-5f9579955-6sng8 1/1 Running 0 77s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour répertorier tous les détails d'un pod, entrez la commande suivante :
oc describe pods
$ oc describe pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.3. Mise à l'échelle de l'application Copier lienLien copié sur presse-papiers!
Dans Kubernetes, un objet Deployment
définit la manière dont une application est déployée. Dans la plupart des cas, les utilisateurs utilisent les ressources Pod
, Service
, ReplicaSets
, et Deployment
ensemble. Dans la plupart des cas, OpenShift Container Platform crée les ressources pour vous.
Lorsque vous déployez l'image national-parks-app
, une ressource de déploiement est créée. Dans cet exemple, un seul Pod
est déployé.
La procédure suivante permet de mettre à l'échelle le site national-parks-image
pour utiliser deux instances.
Conditions préalables
- Vous devez avoir accès à un cluster OpenShift Container Platform.
-
Vous devez avoir installé l'OpenShift CLI (
oc
). - Vous avez une image déployée.
Procédure
Pour faire passer votre application d'une instance de pod à deux instances de pod, entrez la commande suivante :
oc scale --current-replicas=1 --replicas=2 deployment/parksmap
$ oc scale --current-replicas=1 --replicas=2 deployment/parksmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
deployment.apps/parksmap scaled
deployment.apps/parksmap scaled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
Pour vous assurer que votre application a été correctement mise à l'échelle, entrez la commande suivante :
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY STATUS RESTARTS AGE parksmap-5f9579955-6sng8 1/1 Running 0 7m39s parksmap-5f9579955-8tgft 1/1 Running 0 24s
NAME READY STATUS RESTARTS AGE parksmap-5f9579955-6sng8 1/1 Running 0 7m39s parksmap-5f9579955-8tgft 1/1 Running 0 24s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour ramener votre application à une seule instance de pod, entrez la commande suivante :
oc scale --current-replicas=2 --replicas=1 deployment/parksmap
$ oc scale --current-replicas=2 --replicas=1 deployment/parksmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow