Vous pouvez personnaliser le Service Tanzu Kubernetes Grid avec des paramètres globaux pour des fonctionnalités clés, notamment l'interface réseau de conteneur (CNI), le serveur proxy et les certificats TLS. Soyez conscient des compromis et des éléments à prendre en compte lors de l'implémentation de fonctionnalités globales et par cluster.
Vous pouvez éventuellement configurer le Service Tanzu Kubernetes Grid avec des paramètres globaux.
TkgServiceConfiguration
s'applique à tous les clusters
Tanzu Kubernetes provisionnés par ce service. Si une mise à jour continue est initiée, manuellement ou par mise à niveau, les clusters sont mis à jour par la spécification de service modifiée.
Spécification TkgServiceConfiguration
TkgServiceConfiguration
fournit des champs pour la configuration de l'instance du
Service Tanzu Kubernetes Grid.
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration-example spec: defaultCNI: <antrea or calico> proxy: httpProxy: http://<user>:<pwd>@<ip>:<port> httpsProxy: http://<user>:<pwd>@<ip>:<port> noProxy: [<array of CIDRs to not proxy>] trust: additionalTrustedCAs: - name: <first-cert-name> data: <base64-encoded string of a PEM encoded public cert 1> - name: <second-cert-name> data: <base64-encoded string of a PEM encoded public cert 2>
Paramètres de spécification TkgServiceConfiguration
TkgServiceConfiguration
. Pour consulter des exemples, reportez-vous à la section
Exemples de configuration de l'API v1alpha1 du Service Tanzu Kubernetes Grid.
Champ | Valeur | Description |
---|---|---|
defaultCNI |
antrea or calico |
CNI par défaut pour les clusters à utiliser. La valeur par défaut est antrea . L'autre CNI pris en charge est calico . |
proxy |
Marqueur de section pour les paramètres proxy . |
Les paramètres proxy sont httpProxy , httpsProxy et noProxy . Tous les paramètres sont requis. Si un paramètre proxy est manquant, vous ne pouvez pas créer de clusters Tanzu Kubernetes. |
httpProxy |
URI sous la forme http://<user>:<pwd>@<ip>:<port> |
N'autorise pas le protocole https . Si https est utilisé, vous ne pouvez pas créer de clusters Tanzu Kubernetes. |
httpsProxy |
URI sous la forme http://<user>:<pwd>@<ip>:<port> |
N'autorise pas le protocole https . Si https est utilisé, vous ne pouvez pas créer de clusters Tanzu Kubernetes. |
noProxy |
Groupe de blocs CIDR à ne pas mettre en proxy. Par exemple : Obtenez les valeurs requises à partir du réseau de charge de travail sur le cluster superviseur : Reportez-vous à l'image ci-dessous pour savoir quelles valeurs inclure dans le champ de groupe |
Vous ne devez pas proxyer les sous-réseaux utilisés par le réseau de charge de travail sur le cluster superviseur pour les groupes, l'entrée et la sortie. Vous n'avez pas besoin d'inclure les CIDR de services du cluster superviseur dans le champ Les points de terminaison Les CIDR d'espace et de service pour les clusters Tanzu Kubernetes sont automatiquement mis hors proxy. Vous n'avez pas besoin de les ajouter au champ |
trust |
Marqueur de section pour les paramètres trust . |
N'accepte aucune donnée. |
additionalTrustedCAs |
Accepte un groupe de certificats avec name et data pour chacun d'eux. |
N'accepte aucune donnée. |
name |
String | Nom du certificat TLS. |
data |
String | Chaîne codée en base64 d'un certificat public codé en PEM. |
Obtenez les valeurs noProxy
requises dans Réseau de charge de travail sur le Cluster superviseur comme indiqué dans l'image.
Quand utiliser les options de configuration globale ou par cluster
TkgServiceConfiguration
est une spécification globale qui affecte tous les clusters Tanzu Kubernetes provisionnés par l'instance de Service Tanzu Kubernetes Grid.
TkgServiceConfiguration
, apprenez à connaître les solutions par cluster pouvant répondre à votre cas d'utilisation plutôt qu'une configuration globale.
Paramètre | Option globale | Option par cluster |
---|---|---|
CNI par défaut | Modifiez la spécification TkgServiceConfiguration . Reportez-vous à la section Exemples de configuration de l'API v1alpha1 du Service Tanzu Kubernetes Grid. |
Spécifiez le CNI dans la spécification du cluster. Par exemple, Antrea est le CNI par défaut. Pour utiliser Calico, spécifiez-le dans le YAML du cluster. Reportez-vous à la section Exemples de provisionnement de clusters Tanzu Kubernetes à l'aide de l'API v1alpha1 du Service Tanzu Kubernetes Grid. |
Serveur proxy | Modifiez la spécification TkgServiceConfiguration . Reportez-vous à la section Exemples de configuration de l'API v1alpha1 du Service Tanzu Kubernetes Grid. |
Incluez les paramètres de configuration du serveur proxy dans la spécification de cluster. Reportez-vous à la section Exemples de provisionnement de clusters Tanzu Kubernetes à l'aide de l'API v1alpha1 du Service Tanzu Kubernetes Grid. |
Certificats de confiance | Modifiez la spécification TkgServiceConfiguration . Il existe deux cas d'utilisation : la configuration d'un registre de conteneur externe et d'un proxy basé sur un certificat. Reportez-vous à la section Exemples de configuration de l'API v1alpha1 du Service Tanzu Kubernetes Grid. |
Oui, vous pouvez inclure des certificats personnalisés par cluster ou remplacer les paramètres trust globalement définis dans la spécification du cluster. Reportez-vous à la section Exemples de provisionnement de clusters Tanzu Kubernetes à l'aide de l'API v1alpha1 du Service Tanzu Kubernetes Grid. |
TkgServiceConfiguration
, ces informations de proxy sont propagées au manifeste du cluster après le déploiement initial du cluster. La configuration du proxy global est ajoutée au manifeste du cluster uniquement si aucun champ de configuration de proxy n'est présent lors de la création du cluster. En d'autres termes, la configuration par cluster est prioritaire et la configuration du proxy global est prioritaire. Pour plus d'informations, consultez
Paramètres de configuration de Service Tanzu Kubernetes Grid v1alpha1 API.
Avant de modifier la spécification TkgServiceConfiguration
, apprenez à connaître les conséquences de l'application du paramètre au niveau global.
Champ | Appliqué | Impact sur les clusters existants en cas d'ajout/de modification | Remplacement par cluster lors de la création d'un cluster | Remplacement par cluster lors de la mise à jour d'un cluster |
---|---|---|---|---|
defaultCNI |
Globalement | Aucun | Oui, vous pouvez remplacer le paramètre global lors de la création du cluster | Non, vous ne pouvez pas modifier le CNI d'un cluster existant ; si vous avez utilisé le CNI par défaut défini globalement lors de la création du cluster, il ne peut pas être modifié |
proxy |
Globalement | Aucun | Oui, vous pouvez remplacer le paramètre global lors de la création du cluster | Oui, avec U2+, vous pouvez remplacer le paramètre global lors de la mise à jour du cluster |
trust |
Globalement | Aucun | Oui, vous pouvez remplacer le paramètre global lors de la création du cluster | Oui, avec U2+, vous pouvez remplacer le paramètre global lors de la mise à jour du cluster |
Propagation des modifications de la configuration globale aux clusters existants
Les paramètres définis au niveau global dans TkgServiceConfiguration
ne sont pas automatiquement propagés aux clusters existants. Par exemple, si vous apportez des modifications aux paramètres proxy
ou trust
dans TkgServiceConfiguration
, ces modifications n'affecteront pas les clusters déjà provisionnés.
Pour propager une modification globale à un cluster existant, vous devez corriger le cluster Tanzu Kubernetes pour que le cluster hérite des modifications apportées à TkgServiceConfiguration
.
kubectl patch tkc <CLUSTER_NAME> -n <NAMESPACE> --type merge -p "{\"spec\":{\"settings\":{\"network\":{\"proxy\": null}}}}"
kubectl patch tkc <CLUSTER_NAME> -n <NAMESPACE> --type merge -p "{\"spec\":{\"settings\":{\"network\":{\"trust\": null}}}}"