3.7. Configuration des fonctions OpenShift Serverless
Pour améliorer le processus de déploiement du code de votre application, vous pouvez utiliser OpenShift Serverless pour déployer des fonctions sans état et pilotées par les événements en tant que service Knative sur OpenShift Container Platform. Si vous souhaitez développer des fonctions, vous devez effectuer les étapes de configuration.
3.7.1. Conditions préalables
Pour activer l'utilisation d'OpenShift Serverless Functions sur votre cluster, vous devez effectuer les étapes suivantes :
L'opérateur OpenShift Serverless et Knative Serving sont installés sur votre cluster.
NoteLes fonctions sont déployées en tant que service Knative. Si vous souhaitez utiliser une architecture pilotée par les événements avec vos fonctions, vous devez également installer Knative Eventing.
-
Vous avez installé le CLI
oc
. -
Vous avez installé le CLI Knative (
kn
). L'installation du CLI Knative permet d'utiliser les commandeskn func
pour créer et gérer des fonctions. - Vous avez installé Docker Container Engine ou Podman version 3.4.7 ou supérieure.
- Vous avez accès à un registre d'images disponible, tel que le OpenShift Container Registry.
- Si vous utilisez Quay.io comme registre d'images, vous devez vous assurer que le dépôt n'est pas privé, ou que vous avez suivi la documentation d'OpenShift Container Platform sur l'autorisation des pods à référencer des images à partir d'autres registres sécurisés.
- Si vous utilisez le OpenShift Container Registry, un administrateur de cluster doit exposer le registre.
3.7.2. Mise en place de Podman
Pour utiliser des fonctionnalités avancées de gestion de conteneurs, vous pourriez vouloir utiliser Podman avec OpenShift Serverless Functions. Pour ce faire, vous devez démarrer le service Podman et configurer le CLI Knative (kn
) pour vous y connecter.
Procédure
Démarrez le service Podman qui sert l'API Docker sur un socket UNIX à l'adresse
${XDG_RUNTIME_DIR}/podman/podman.sock
:$ systemctl start --user podman.socket
NoteSur la plupart des systèmes, cette prise est située à l'adresse
/run/user/$(id -u)/podman/podman.sock
.Établir la variable d'environnement qui est utilisée pour construire une fonction :
$ export DOCKER_HOST="unix://${XDG_RUNTIME_DIR}/podman/podman.sock"
Exécutez la commande build dans le répertoire de votre projet de fonction avec le drapeau
-v
pour voir la sortie verbose. Vous devriez voir une connexion à votre socket UNIX local :$ kn func build -v
3.7.3. Installation de Podman sur macOS
Pour utiliser des fonctionnalités avancées de gestion de conteneurs, vous pourriez vouloir utiliser Podman avec OpenShift Serverless Functions. Pour ce faire sur macOS, vous devez démarrer la machine Podman et configurer le CLI Knative (kn
) pour vous y connecter.
Procédure
Créer la machine Podman :
$ podman machine init --memory=8192 --cpus=2 --disk-size=20
Démarrez la machine Podman, qui sert l'API Docker sur un socket UNIX :
$ podman machine start Starting machine "podman-machine-default" Waiting for VM ... Mounting volume... /Users/myuser:/Users/user [...truncated output...] You can still connect Docker API clients by setting DOCKER_HOST using the following command in your terminal session: export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock' Machine "podman-machine-default" started successfully
NoteSur la plupart des systèmes macOS, cette prise se trouve à l'adresse
/Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock
.Établir la variable d'environnement qui est utilisée pour construire une fonction :
$ export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
Exécutez la commande build dans le répertoire de votre projet de fonction avec le drapeau
-v
pour voir la sortie verbose. Vous devriez voir une connexion à votre socket UNIX local :$ kn func build -v
3.7.4. Prochaines étapes
- Pour plus d'informations sur Docker Container Engine ou Podman, voir Options d'outils de construction de conteneurs.
- Voir la section Démarrer avec les fonctions.