Portes fonctionnelles
Cette page présente un aperçu des diverses options de fonctionnalité qu’un administrateur peut spécifier sur etcd.
Voir stades des fonctionnalités pour une explication des stades d’une fonctionnalité.
Aperçu
Les portes fonctionnelles sont un ensemble de paires clé=valeur qui décrivent les fonctionnalités d’etcd.
Vous pouvez activer ou désactiver ces fonctionnalités à l’aide du drapeau de ligne de commande --feature-gates sur etcd.
etcd vous permet d’activer ou de désactiver un ensemble de portes fonctionnelles.
Utilisez le drapeau -h pour afficher la liste complète des portes fonctionnelles.
Pour définir les portes fonctionnelles, utilisez le drapeau --feature-gates avec une liste de paires fonctionnalité=valeur en ligne de commande :
Ou spécifiez feature-gates dans le fichier de configuration YAML :
Modification de la structure embed.Config
En 3.6, le champ ServerFeatureGate est ajouté à embed.Config, et devrait remplacer les champs expérimentaux ci-dessous :
Portes d’activation pour les fonctionnalités Alpha ou Beta
Les tableaux suivants résument les portes de fonctionnalité que vous pouvez activer sur etcd.
| Fonctionnalité | Valeur par défaut | Étape | Détails |
|---|---|---|---|
| CompactHashCheck | false | Alpha | Active la vérification périodique par le leader des hachages de compactage des suiveurs. |
| InitialCorruptCheck | false | Alpha | Active la vérification de corruption des données avant de servir tout trafic client/pair. |
| LeaseCheckpoint | false | Alpha | Active l’envoi de points de contrôle réguliers par le leader aux autres membres afin d’éviter la réinitialisation du TTL restant lors d’un changement de leader. |
| LeaseCheckpointPersist | false | Alpha | Active la persistance du TTL restant afin d’éviter un auto-renouvellement indéfini des baux longs. |
| SetMemberLocalAddr | false | Alpha | Active l’utilisation de la première adresse locale spécifiée ne relevant pas de l’adresse de bouclage dans initial-advertise-peer-urls comme adresse locale lors de la communication avec un pair. |
| StopGRPCServiceOnDefrag | false | Alpha | Active l’arrêt du service gRPC etcd lors de la défragmentation afin de ne plus servir les requêtes clients. |
| TxnModeWriteWithSharedBuffer | true | Beta | Active l’utilisation d’un tampon partagé lors des opérations de vérification en lecture seule dans les transactions d’écriture. |
Utilisation d’une fonctionnalité
Stades des fonctionnalités
Une fonctionnalité peut être à l’étape Alpha, Beta, GA ou Deprecated. Une fonctionnalité Alpha signifie :
- Désactivée par défaut.
- Peut présenter des bugs. L’activation de cette fonctionnalité peut exposer des bugs.
- Le support de cette fonctionnalité peut être supprimé à tout moment sans préavis.
- L’API peut évoluer de manière incompatible dans une version logicielle ultérieure sans préavis.
- Recommandé pour une utilisation uniquement dans des clusters de test à durée limitée, en raison de risques accrus de bugs et du manque de support à long terme.
Une fonctionnalité Beta signifie :
- Activée par défaut.
- La fonctionnalité est bien testée. Son activation est considérée comme sûre.
- Le support de la fonctionnalité globale ne sera pas supprimé, bien que les détails puissent évoluer.
- Recommandé uniquement pour des utilisations non critiques pour l’activité car il existe un risque de découverte de bogues difficiles à détecter au travers d’une adoption plus large.
N’hésitez pas à essayer les fonctionnalités Beta et à nous faire part de vos retours ! Une fois sorties de la phase bêta, il se peut qu’il ne soit plus pratique pour nous d’apporter davantage de modifications.
Une fonctionnalité General Availability (GA) est également appelée fonctionnalité stable. Cela signifie :
- La fonctionnalité est toujours activée ; vous ne pouvez pas la désactiver.
- La porte de fonction correspondante n’est plus nécessaire.
- Les versions stables des fonctionnalités apparaîtront dans les logiciels publiés pendant de nombreuses versions ultérieures.
Une fonctionnalité Deprecated signifie :
- La porte de fonctionnalité n’est plus utilisée.
- La fonctionnalité a atteint le stade GA ou a été supprimée.