djzager.hello_world_k8s
Rôle Ansible : Hello World Kubernetes
Gère une application Hello World dans Kubernetes|OpenShift. Ce projet comprend également les éléments nécessaires pour déployer ce rôle avec l'Ansible Operator dans un cluster Kubernetes|OpenShift.
Exigences
- ansible >= 2.6
- package python openshift
Variables du Rôle
Consultez defaults/main.yml.
Dépendances
Aucune
Exemple de Playbook
REMARQUE L'exemple ci-dessous suppose que vous avez un cluster Kubernetes|OpenShift en fonctionnement et que vous disposez des autorisations suffisantes dans l'espace de noms my-hello-world-namespace
.
- hosts: localhost
vars:
name: my-hello-world
namespace: my-hello-world-namespace
size: 3
roles:
- djzager.hello_world_k8s
Exemple d'Opérateur
REMARQUE L'exemple ci-dessous suppose que vous êtes essentiellement un administrateur de cluster pour le cluster Kubernetes|OpenShift. Cela est dû au fait que vous allez créer un Rôle, une Liaison de Rôle de Comptes de Service et une Définition de Ressource Personnalisée.
Tout d'abord, nous construisons notre opérateur en utilisant operator-sdk
, lien
ici :
$ operator-sdk build hello-world-operator
Ensuite, nous créons les objets importants dont notre opérateur a besoin pour fonctionner :
$ kubectl create -f deploy/service_account.yaml \
-f deploy/role.yaml \
-f deploy/role_binding.yaml \
-f deploy/crds/examples_v1alpha1_helloworld_crd.yaml \
Puis, nous démarrons l'opérateur :
# Utilisez le nom de l'image de l'étape de construction ci-dessus
# et définissez le champ imagePullPolicy sur Never
$ sed 's|REPLACE_IMAGE|hello-world-operator|g; s|Always|Never|' deploy/operator.yaml | kubectl create -f -
Enfin, créez une ressource HelloWorld :
$ kubectl create -f deploy/crds/examples_v1alpha1_helloworld_cr.yaml
Manage hello-world application in Kubernetes|OpenShift
ansible-galaxy install djzager.hello_world_k8s