11.5. Configuration du profil de sécurité TLS pour le kubelet
Pour configurer un profil de sécurité TLS pour le kubelet lorsqu'il agit en tant que serveur HTTP, créez une ressource personnalisée (CR) KubeletConfig
pour spécifier un profil de sécurité TLS prédéfini ou personnalisé pour des nœuds spécifiques. Si aucun profil de sécurité TLS n'est configuré, le profil de sécurité TLS par défaut est Intermediate
.
Le kubelet utilise son serveur HTTP/GRPC pour communiquer avec le serveur API de Kubernetes, qui envoie des commandes aux pods, recueille des journaux et exécute des commandes sur les pods par l'intermédiaire du kubelet.
Exemple de CR KubeletConfig
qui configure le profil de sécurité TLS Old
sur les nœuds de travail
apiVersion: config.openshift.io/v1 kind: KubeletConfig ... spec: tlsSecurityProfile: old: {} type: Old machineConfigPoolSelector: matchLabels: pools.operator.machineconfiguration.openshift.io/worker: ""
Vous pouvez voir les codes et la version TLS minimale du profil de sécurité TLS configuré dans le fichier kubelet.conf
sur un nœud configuré.
Conditions préalables
-
Vous avez accès au cluster en tant qu'utilisateur ayant le rôle
cluster-admin
.
Procédure
Créez un CR
KubeletConfig
pour configurer le profil de sécurité TLS :Exemple de CR
KubeletConfig
pour un profilCustom
apiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: set-kubelet-tls-security-profile spec: tlsSecurityProfile: type: Custom 1 custom: 2 ciphers: 3 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 machineConfigPoolSelector: matchLabels: pools.operator.machineconfiguration.openshift.io/worker: "" 4
- 1
- Spécifiez le type de profil de sécurité TLS (
Old
,Intermediate
, ouCustom
). La valeur par défaut estIntermediate
. - 2
- Spécifiez le champ approprié pour le type sélectionné :
-
old: {}
-
intermediate: {}
-
custom:
-
- 3
- Pour le type
custom
, spécifiez une liste de chiffrements TLS et la version TLS minimale acceptée. - 4
- Facultatif : Indiquez l'étiquette du pool de configuration de la machine pour les nœuds auxquels vous souhaitez appliquer le profil de sécurité TLS.
Créer l'objet
KubeletConfig
:$ oc create -f <filename>
En fonction du nombre de nœuds de travail dans la grappe, attendez que les nœuds configurés soient redémarrés un par un.
Vérification
Pour vérifier que le profil est défini, effectuez les étapes suivantes une fois que les nœuds sont dans l'état Ready
:
Démarrer une session de débogage pour un nœud configuré :
oc debug node/<node_name>
Définir
/host
comme répertoire racine dans l'interpréteur de commandes de débogage :sh-4.4# chroot /host
Consulter le fichier
kubelet.conf
:sh-4.4# cat /etc/kubernetes/kubelet.conf
Exemple de sortie
kind: KubeletConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 ... "tlsCipherSuites": [ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" ], "tlsMinVersion": "VersionTLS12",