Déployez l'application Guestbook sur votre cluster TKG et explorez Kubernetes.
Le déploiement de l'application Guestbook est un moyen utile d'explorer Kubernetes. L'application utilise les objets Déploiement et ReplicaSet pour déployer des espaces dans l'espace de noms par défaut et expose ces espaces à l'aide de services. Les données Guestbook sont conservées de sorte que si l'application tombe en panne, les données restent disponibles. Ce didacticiel utilise une réclamation de volume persistant dynamique (PVC) pour demander des ressources de stockage persistant sans connaître les détails du stockage sous-jacent. Le stockage utilisé pour la PVC est alloué à partir du quota de stockage pour l'Espace de noms vSphere. Par défaut, les conteneurs sont éphémères et sans état. Pour les charges de travail avec état, une approche courante consiste à créer une réclamation de volume persistant (PVC). Vous pouvez utiliser une réclamation de volume persistant pour monter les volumes persistants et accéder au stockage. La demande provisionne dynamiquement un objet de volume persistant et un disque virtuel correspondant. La réclamation est liée au volume persistant. Lorsque vous supprimez la réclamation, l'objet de volume persistant correspondant et le disque de machine virtuelle provisionné sont supprimés.
Conditions préalables
Vérifiez les rubriques suivantes :
Procédure
- Connectez-vous au cluster TKG.
- Créez l'espace de noms Guestbook.
kubectl create namespace guestbook
Vérifiez :
kubectl get ns
- Créez un contrôle d'accès basé sur les rôles à l'aide de la PSP privilégiée par défaut.
kubectl create clusterrolebinding default-tkg-admin-privileged-binding --clusterrole=psp:vmware-system-privileged --group=system:authenticated
Note : Si vous avez besoin d'une sécurité renforcée, appliquez une liaison RoleBinding sur l'espace de noms Guestbook.
- Vérifiez la classe de stockage ou créez-en une.
Pour vérifier une classe de stockage existante :
kubectl describe namespace
Ou, si vous disposez d'autorisations d'administrateur vSphere :
kubectl get storageclass
- Créez les fichiers YAML de réclamations de volume persistant (PVC) qui utilisent la classe de stockage.
Utilisez les fichiers YAML suivants. Mettez à jour chaque élément avec le nom de la classe de stockage.
- Appliquez les PVC Guestbook au cluster.
kubectl apply -f redis-leader-pvc.yaml -n guestbook
kubectl apply -f redis-follower-pvc.yaml -n guestbook
- Vérifiez l'état des PVC.
kubectl get pvc,pv -n guestbook
Les PVC et les volumes persistants (PV) sont répertoriées et disponibles pour utilisation.
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/redis-follower-pvc Bound pvc-37b72f35-3de2-4f84-be7d-50d5dd968f62 2Gi RWO tkgs-storage-class 66s
persistentvolumeclaim/redis-leader-pvc Bound pvc-2ef51f31-dd4b-4fe2-bf4c-f0149cb4f3da 2Gi RWO tkgs-storage-class 66s
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS
persistentvolume/pvc-2ef51f31-dd4b-4fe2-bf4c 2Gi RWO Delete Bound guestbook/redis-leader-pvc tkgs-storage-class
persistentvolume/pvc-37b72f35-3de2-4f84-be7d 2Gi RWO Delete Bound guestbook/redis-follower-pvc tkgs-storage-class
- Créez les fichiers Guestbook YAML.
Utilisez les fichiers YAML suivants :
- Déployez l'application Guestbook dans son espace de noms.
kubectl apply -f . --namespace guestbook
- Vérifiez la création des ressources Guestbook.
kubectl get all -n guestbook
NAME READY STATUS RESTARTS AGE
pod/guestbook-frontend-deployment-56fc5b6b47-cd58r 1/1 Running 0 65s
pod/guestbook-frontend-deployment-56fc5b6b47-fh6dp 1/1 Running 0 65s
pod/guestbook-frontend-deployment-56fc5b6b47-hgd2b 1/1 Running 0 65s
pod/redis-follower-deployment-6fc9cf5759-99fgw 1/1 Running 0 65s
pod/redis-follower-deployment-6fc9cf5759-rhxf7 1/1 Running 0 65s
pod/redis-leader-deployment-7d89bbdbcf-flt4q 1/1 Running 0 65s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/guestbook-frontend LoadBalancer 10.10.89.59 10.19.15.99 80:31513/TCP 65s
service/redis-follower ClusterIP 10.111.163.189 <none> 6379/TCP 65s
service/redis-leader ClusterIP 10.111.70.189 <none> 6379/TCP 65s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/guestbook-frontend-deployment 3/3 3 3 65s
deployment.apps/redis-follower-deployment 1/2 2 1 65s
deployment.apps/redis-leader-deployment 1/1 1 1 65s
NAME DESIRED CURRENT READY AGE
replicaset.apps/guestbook-frontend-deployment-56fc5b6b47 3 3 3 65s
replicaset.apps/redis-follower-deployment-6fc9cf5759 2 2 1 65s
replicaset.apps/redis-leader-deployment-7d89bbdbcf 1 1 1 65s
- Accédez à la page Web Guestbook à l'aide de l'adresse
External-IP
de l'équilibrage de charge service/guestbook-frontend
, qui est 10.19.15.99
dans cet exemple.
Vous voyez l'interface Web de Guestbook et vous pouvez entrer des valeurs dans la base de données Guestbook. Si vous redémarrez l'application, les données sont persistantes.