Reportez-vous aux exemples pour personnaliser l'API v1alpha2 du Service Tanzu Kubernetes Grid avec des paramètres de configuration globaux pour l'interface du réseau du conteneur, le serveur proxy et les certificats TLS.
Configuration du Service Tanzu Kubernetes Grid à l'aide de l'API v1alpha2
apiVersion: run.tanzu.vmware.com/v1alpha2 kind: TkgServiceConfiguration metadata: name: tkg-service-v2-configuration-example spec: defaultCNI: antrea proxy: #supported format is `http://<user>:<pwd>@<ip>:<port>` httpProxy: http://admin:[email protected]:80 httpsProxy: http://admin:[email protected]:80 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20] trust: additionalTrustedCAs: - name: CompanyInternalCA-1 data: LS0tLS1C...LS0tCg== #where "..." is the middle section of the long base64 string - name: CompanyInternalCA-2 data: MTLtMT1C...MT0tPg== defaultNodeDrainTimeout: 0
Condition préalable : configurer la modification Kubectl
Pour dimensionner un cluster Tanzu Kubernetes, vous mettez à jour le manifeste du cluster à l'aide de la commande kubectl edit tanzukubernetescluster/CLUSTER-NAME
. La commande kubectl edit ouvre le manifeste du cluster dans l'éditeur de texte défini par votre variable d'environnement KUBE_EDITOR ou EDITOR. Pour obtenir des instructions sur la configuration de la variable d'environnement, reportez-vous à la section Spécifier un éditeur de texte par défaut pour Kubectl.
Lorsque vous enregistrez les modifications de spécification, kubectl
signale que les modifications ont été enregistrées. Pour annuler, fermez simplement l'éditeur sans enregistrer.
Configurer le CNI par défaut
Le Service Tanzu Kubernetes Grid fournit une interface réseau de conteneur (CNI) par défaut pour les clusters Tanzu Kubernetes. La configuration par défaut vous permet de créer des clusters sans devoir spécifier le CNI. Vous pouvez modifier le CNI par défaut en modifiant la spécification de service.
Le Service Tanzu Kubernetes Grid prend en charge deux CNI : Antrea et Calico, Antrea étant utilisé par défaut. Pour plus d'informations, consultez Mise en réseau du cluster Service Tanzu Kubernetes Grid.
- Authentifiez-vous avec le Cluster superviseur.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Basculez le contexte sur l'Espace de noms vSphere cible.
kubectl config use-context tkgs-cluster-ns
- Répertoriez le CNI par défaut.
kubectl get tkgserviceconfigurations
Exemple de résultat :NAME DEFAULT CNI tkg-service-configuration antrea
- Chargez la spécification du Service Tanzu Kubernetes Grid pour modification.
kubectl edit tkgserviceconfigurations tkg-service-configuration
Le système ouvre la spécification
tkg-service-configuration
dans l'éditeur de texte par défaut défini par la variable d'environnement KUBE_EDITOR ou EDITOR. - Modifiez la valeur
spec.defaultCNI
.Par exemple, modifiez :spec: defaultCNI: antrea
Remplacez par :spec: defaultCNI: calico
- Pour appliquer les modifications, enregistrez le fichier dans l'éditeur de texte. Pour annuler, fermez l'éditeur sans enregistrer.
Lorsque vous enregistrez la modification dans l'éditeur de texte, kubectl met à jour la spécification de service
tkg-service-configuration
. - Vérifiez que le CNI par défaut est mis à jour.
kubectl get tkgserviceconfigurations
Le CNI par défaut est mis à jour. Tout cluster provisionné avec des paramètres réseau par défaut utilise le CNI par défaut.NAME DEFAULT CNI tkg-service-configuration calico
Configurer un serveur proxy global
TkgServiceConfiguration
. Pour obtenir une description des champs requis, reportez-vous à la section
Paramètres de configuration de Service Tanzu Kubernetes Grid v1alpha1 API.
- Authentifiez-vous avec le Cluster superviseur.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Basculez le contexte sur l'Espace de noms vSphere cible.
kubectl config use-context tkgs-cluster-ns
- Obtenez la configuration actuelle.
kubectl get tkgserviceconfigurations
Exemple de résultat :NAME DEFAULT CNI tkg-service-configuration antrea
- Chargez la spécification du Service Tanzu Kubernetes Grid pour modification.
kubectl edit tkgserviceconfigurations tkg-service-configuration
Le système ouvre la spécification
tkg-service-configuration
dans l'éditeur de texte par défaut défini par la variable d'environnement KUBE_EDITOR ou EDITOR. - Ajoutez la sous-section
spec.proxy
avec chaque champ requis, notammenthttpProxy
,httpsProxy
etnoProxy
.apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: ... name: tkg-service-configuration-example resourceVersion: "44170525" selfLink: /apis/run.tanzu.vmware.com/v1alpha1/tkgserviceconfigurations/tkg-service-configuration uid: 10347195-5f0f-490e-8ae1-a758a724c0bc spec: defaultCNI: antrea proxy: httpProxy: http://<user>:<pwd>@<ip>:<port> httpsProxy: http://<user>:<pwd>@<ip>:<port> noProxy: [SVC-POD-CIDRs, SVC-EGRESS-CIDRs, SVC-INGRESS-CIDRs]
- Remplir chaque champ proxy avec les valeurs appropriées. Pour une description de chaque champ d'état, reportez-vous à la section Paramètres de configuration de Service Tanzu Kubernetes Grid v1alpha1 API.
Les valeurs requises pour le champ
noProxy
proviennent du Réseau de charge de travail sur le Cluster superviseur. Pour savoir où obtenir ces valeurs, reportez-vous à l'image de la rubrique ci-dessus.Par exemple :apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: ... name: tkg-service-configuration-example resourceVersion: "44170525" selfLink: /apis/run.tanzu.vmware.com/v1alpha1/tkgserviceconfigurations/tkg-service-configuration uid: 10347195-5f0f-490e-8ae1-a758a724c0bc spec: defaultCNI: antrea proxy: httpProxy: http://user:[email protected]:3128 httpsProxy: http://user:[email protected]:3128 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20]
- Pour appliquer les modifications, enregistrez le fichier dans l'éditeur de texte. Pour annuler, fermez l'éditeur sans enregistrer.
Lorsque vous enregistrez les modifications dans l'éditeur de texte, kubectl met à jour Service Tanzu Kubernetes Grid avec la configuration définie dans la spécification du service
tkg-service-configuration
. - Vérifiez que le Service Tanzu Kubernetes Grid est mis à jour avec les paramètres de proxy.
kubectl get tkgserviceconfigurations -o yaml
- Pour vérifier, provisionnez un cluster Tanzu Kubernetes. Reportez-vous à la section Workflow de provisionnement de clusters Tanzu Kubernetes à l'aide de TKGS v1alpha2 API.
Utilisez la commande suivante pour confirmer que le cluster utilise le proxy.
kubectl get tkc CLUSTER-NAME -n NAMESPACE -o yaml
Configuration du proxy basé sur les certificats
L'utilisation d'un serveur proxy pour acheminer le trafic Internet est une exigence stricte pour certains environnements. Par exemple, une entreprise dans un secteur hautement réglementé, telle qu'une institution financière, exige que tout le trafic Internet passe par un proxy d'entreprise.
Vous pouvez configurer le Service Tanzu Kubernetes Grid pour provisionner les clusters Tanzu Kubernetes afin d'utiliser un serveur proxy pour le trafic HTTP/S sortant. Pour plus d'informations, consultez Paramètres de configuration de Service Tanzu Kubernetes Grid v1alpha1 API.
TkgServiceConfiguration
.
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration-example spec: defaultCNI: antrea proxy: httpProxy: http://user:[email protected]:3128 httpsProxy: http://user:[email protected]:3128 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20] 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 defaultNodeDrainTimeout: 0
Configuration du registre privé externe
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration-example spec: defaultCNI: antrea trust: additionalTrustedCAs: - name: harbor-vm-cert data: <<<base64-encoded string of a PEM encoded public cert>>>>