Est-ce que vous souhaitez inclure une implémentation FHIR® de qualité commerciale dans votre écosystème de micro-services et vous avez à peine le temps de remplir les formulaires de sélection de votre régime d'assurance maladie ?
Voici un moyen rapide d'inviter le service InterSystems® FHIR®Accelerator à votre groupe de microservices Kubernetes pour une utilisation immédiate. La solution fait appel à des mouvements de proxy ninja de Nginx pour faire le travail. Bien qu'il s'agisse d'une solution rustique qui ne manquera pas de susciter des débats techniques, je suis plutôt satisfait des résultats obtenus, et ce jusqu'à ce que la communauté me dise le contraire, alors, comme on dit, " FHIR® ", mais ce serait formidable si vous m'écoutiez d'abord.
Clause de non-responsabilité
Vous verrez des secrets dans les manifestes, l'utilisation des port de nœuds nodePort et un nœud maître corrompu pour faire passer le message, la discrétion parentale est conseillée.
Préalables
Vous aurez besoin de quelques éléments si vous souhaitez le déployer vous-même. Il s'agit principalement d'un point de départ ou d'une approche pour ceux qui souhaitent intégrer rapidement la fonctionnalité FHIR® à des fins de développement.
🔥 Environnement
Pour cette démonstration, nous sommes parqués directement sur un nœud maître de Kubernetes corrompu pour mettre en œuvre le travail.
FHIR up le service FHIR® Accelerator
- [X ] Créez un compte dans l'InterSystems® Cloud
- [ X] Créez un déploiement de service InterSystems FHIR® Accelerator
🖇 Enregistrez le point de terminaison et la clé API
C'est tout ce que nous avons besoin de l'accélérateur FHIR®, nous interagirons avec le service à notre manière à l'intérieur du cluster Kubernetes.
Clonage de ce Repo
Pour le "reste du README", placez-vous sur un nœud maître Kubernetes corrompu.
git clone https://gitlab.com/isc_cloud/fhiraas-microservice-kubernetes.git
cd fhir-microservice-kubernetes
Déploiement vers le cluster Kubernetes
- [X ] Créez un espace de nom Namespace, afin de disposer d'un rayon d'explosion dans lequel jouer pour l'instant.
- [X] Creez une ConfigMap, il s'agit en fait de la folie du reverse proxy implémentée dans le nginx.conf.
✏ IL FAUT MODIFIER QUELQUE CHOSE ICI
Rappelez-vous la clé et le point de terminaison que nous avons générés à partir du service FHIR Accelerator ? Il faut les mettre à jour ici, dans le déploiement
- [ X] Créez un déploiement, voici les conteneurs eux-mêmes, avec 3 modules pour le groupe de répliques de déploiement.
- [ X] Créez un Service, Exposez-le !, c'est un simple service NodePort qui lie un port sur le nœud pour accéder au service FHIR Accelerator. Il expose 30036 sur le nœud, et transmet au module de déploiement sur 52773.
cd fhir-microservice-kubernetes # devrait déjà être ici, mais juste pour être sûr.
kubectl apply -f k8s/
Testez-le !
Faisons un test rapide pour vérifier si FHIR est bien servi à travers le NodePort.
[✔] Port du noeud Socket en écoute ?
[✔] Écouter le port du noeud Socket ?
[✔] Consultation des patients ?
[✔] Obtenez le patient ?
Mettre à l'échelle !
Nous sommes sur un seul nœud et exposons le service à un port de nœud, donc nous ne sommes pas sûrs que cela augmentera notre débit, mais allons-y quand même.
kubectl scale deployments/isc-fhiraas-deployment --replicas=30 -n isc-fhiraas
Mettons-y un peu de FHIR !
Ce dépôt contient un script shell hostile et rustique qui permet de placer des patients aléatoires dans la ressource Patient, avec quelques cloches et sans sifflets. J'ai besoin de quelques variables d'environnement ou vous pouvez simplement éditer les variables directement dans le script. Lors de l'exécution de ce script, assurez-vous du bon fonctionnement du ventilateur du processeur et déplacez les objets de la zone de l'ordinateur portable pour éviter le déplacement des objets dans le cas où votre ordinateur portable s'envole.
bash bin/fhirbench.sh
🏆 Résultats
50 placements, et 50 recherches en 13 secondes.
Personne responsable
Ce matériel se trouve dans le référentiel, Ron Sweeney (ron.sweeney@integrationrequired.com) de [Intégration requise] (https://www.integrationrequired.com). Ce sont les opinions de mon employeur.