Architecture
Architecture¶
L'architecture Rancher de Caascad se compose d'un serveur Rancher situé dans votre zone d'administration et d'agents qui s'exécutent dans vos clusters.
Serveur Rancher: inclut tous les composants logiciels utilisés pour gérer l'ensemble du déploiement Rancher.
Agents Rancher (Cluster Agents): initient la connection au serveur Rancher. Le serveur Rancher utilise ensuite cette connexion pour remonter l'état de santé du cluster administré, ainsi que pour permettre l'accès des utilisateurs à ce même cluster.
Rôles disponibles¶
Caascad vous fournit deux rôles globaux (caascad-rancher-viewer
, caascad-rancher-admin
) ainsi que 2 rôles par zone administrée (caascad-rancher-viewer-<zone>
, caascad-rancher-admin-<zone>
). Ces rôles sont définis dans Keycloak et permettent de gérer les accès des utilisateurs aux clusters Kubernetes administrés par Rancher (pour plus de détails: Caascad roles).
Securité¶
La connexion entre le serveur Rancher et les agents se fait via une websocket sécurisé par TLS.
L'agent Rancher vérifie la validité du certificat TLS présenté par le serveur pendant l'établissement de la connection TLS: Les autorités de certification utilisées pour vérifier l'authenticité du certificat Rancher sont fournies par la distribution Debian (il s'agit de la liste des autorités de certification validées par Mozilla). Les certificats du serveur Rancher sont générés périodiquement, dans un délai maximal de 3 mois, par notre fournisseur ZeroSSL (Autorité de certification: USERTrust RSA Certification Authority).
À chaque nouvelle connexion d'un agent Rancher, le serveur Rancher vérifie le secret présent en en-tête de la requête HTTP avant d'accepter la conversion de la session en tunnel websocket. Le secret utilisé pendant l'authentification est déployé dans un secret Kubernetes, à l'intérieur du namespace cattle-system
.