pronounced [meta-see]
C'est un métacontrôleur et plus encore. La vision à long terme de Metac est de fournir une boîte à outils permettant aux utilisateurs de gérer leurs infrastructures sur Kubernetes.
Metac a démarré lorsque le développement du métacontrôleur s'est arrêté. Metac a implémenté la plupart des améliorations majeures et des problèmes soulevés dans le métacontrôleur. De plus, certaines fonctionnalités de Metac découlent des besoins de production de projets tels que OpenEBS et LitmusChaos.
Metac est un module complémentaire pour Kubernetes qui facilite l'écriture et le déploiement de contrôleurs personnalisés sous la forme de scripts simples. On peut avoir une idée de l'implémentation de contrôleurs à partir de divers exemples d'implémentation trouvés dans le dossier d'exemples. Ces exemples présentent diverses approches et langages de programmation (y compris jsonnet) pour implémenter des contrôleurs.
Voici quelques fonctionnalités prises en charge par Metac :
Si vous souhaitez utiliser Metac via des hooks Web, Metac peut être déployé en tant que StatefulSet avec des images trouvées dans ce registre. Cependant, si vous souhaitez utiliser des hooks en ligne, vous devez importer Metac dans votre implémentation de contrôleur basée sur Go. De plus, vous devez utiliser les modules go pour importer la version principale de Metac dans votre base de code.
Si vous souhaitez déployer Metac via helm
, utilisez ce graphique helm.
Metac essaie d'être compatible avec le métacontrôleur d'origine. Cependant, il peut y avoir des changements radicaux auxquels il faut faire attention. Si l'on utilise le métacontrôleur et essaie d'utiliser métac, alors il faut être conscient des changements ci-dessous :
apiVersion: metac.openebs.io/v1alpha1
metac.openebs.io/
metac
Si vous migrez de Metacontroller vers Metac, vous devrez nettoyer les finaliseurs de l'ancien Metacontroller, vous pouvez utiliser une commande comme la suivante :
kubectl get --no-headers --all-namespaces | awk '{print $2 " -n " $1}' | xargs -L1 -P 50 -r kubectl patch -p '{"metadata":{"finalizers": [null]}}' --type=merge
Voici les grands domaines d’intervention de Metac :
Il s'agit du site existant du métacontrôleur qui fournit la plupart des détails importants sur le métacontrôleur. Étant donné que Metac ne diffère pas de Metacontroller, à l'exception de nouvelles améliorations et correctifs, ce site de documentation reste valable.
Veuillez signaler les problèmes GitHub pour les bogues, les demandes de fonctionnalités et les propositions.
Utilisez les notes/ordre du jour de la réunion pour discuter de fonctionnalités/sujets spécifiques avec la communauté.
Rejoignez la chaîne #metacontroller sur Kubernetes Slack.
Voir CONTRIBUTING.md et le guide du contributeur.
Ce projet est sous licence Apache License 2.0.
Parmi la plupart des articles trouvés sur Internet, je trouve celui-ci très instructif. Cependant, il parle de métacontrôleur alors que métac a comblé la plupart des lacunes laissées par le premier.