Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Vérification de l’autorité de certification

Le elemental-register et le elemental-system-agent s’appuient sur la configuration de la CA de Rancher pour vérifier l’URL de MachineRegistration et pour surveiller à distance les plans.

Selon que la CA est privée ou publique, vous souhaiterez peut-être demander à l’agent d’appliquer la vérification de la strict CA, ou d’utiliser plutôt le magasin de confiance du système.

Depuis Rancher 2.9, le paramètre global agent-tls-mode s’appliquera également à l’installation des agents Elemental. Notez que si le paramètre agent-tls-mode change, les machines Elemental devront être réinitialisées pour que le paramètre s’applique.

Cycle de vie du certificat CA privé

Lors de l’utilisation d’une CA privée, il est recommandé de toujours s’assurer que la même CA est également utilisée pour Rancher. Elemental utilisera le cacerts lors de l’inclusion du certificat CA afin que les agents lui fassent confiance. C’est la même valeur que celle qui apparaît sur l’URL https://my.rancher.example/cacerts.

Notez cependant qu’il ne sera pas possible de mettre à jour cette valeur après qu’une machine Elemental a été installée. Remplacer le certificat CA sur Rancher peut entraîner l’incapacité des machines Elemental à se reconnecter à Rancher et à fonctionner normalement, lorsque le agent-tls-mode est défini sur strict.

Pour cette raison, il est recommandé d’utiliser plutôt le paramètre agent-tls-mode: system-store et de gérer le cycle de vie des certificats CA directement sur les machines Elemental, lorsqu’une CA privée est utilisée.

Le certificat CA peut être installé dans images OS personnalisées directement, ou passé comme une configuration cloud-init dans les ressources Elemental. Par exemple, le certificat CA initial peut être inclus dans le MachineRegistration cloud-config :

apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
  name: fire-nodes
  namespace: fleet-default
spec:
  config:
    cloud-config:
      write_files:
        - path: /etc/pki/trust/anchors/rancher-ca.pem
          permission: 0444
          content: |-
            -----BEGIN CERTIFICATE-----
            MIIDETCCAfmgAwIBAgIRAK0J3NrgPllXUiGYrA9sTlUwDQYJKoZIhvcNAQELBQAw
            IjEgMB4GA1UEAxMXZWxlbWVudGFsLXNlbGZzaWduZWQtY2EwHhcNMjQxMDA3MTEw
            ODM5WhcNMzUwODAxMTEwODM5WjAiMSAwHgYDVQQDExdlbGVtZW50YWwtc2VsZnNp
            Z25lZC1jYTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJm2esaQL82b
            rWMpnurmyiutruWvdWUT0Dci2+I7vI1CRs7Gqq93in3+HOoEuaJhS4eZQT9AFyaq
            msijMa3cTYUDhTbOAvPs27E/mSBeQyKd/hJuQ0B8vl47Z1ixOpUHdMOBsZDI0XF5
            yjVTj4nTZXW5n0zZpnmEs4DhLJLJc6icjQLdHDsSj/LeTy8alyTtkOaWcPjFppNI
            6M5a1BWJPhNKGlFpezqfjtJogxbOEAohpN4DUKvqebRWnC+4MjhqUcEW5sXatFTH
            F7MGbVSqQk/f7lzIuke4nvWd0FGPyk/sD31rXT2/2eHkcTJEanRq3bwWQNXQynQ1
            wdqIH1TtfMUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMB
            Af8wHQYDVR0OBBYEFIv2OZVFAhh8HzoEwjlf5GivNf6IMA0GCSqGSIb3DQEBCwUA
            A4IBAQAfNUNQKZ02oTo9q+/nbS8kIuhwzSTtNzKflQU5oibpDSAxYlx2gsYqppb/
            w7voj+GiONQR22PrCFh+Kr7aGr/GZh6oXg47dK4Es2dVeE8qdqW3WtZ8oj/OJxmP
            7TqWZdGf7TAxfgNzIpGjWFw/coJ7dcYbDrcZFWG5oQpTbLHK/ECMPWytGVRjrqE6
            baLJ85AVqF9rcCb0giXzvzS6/IpyAe7+Q4WvdzY1uaLQSwkBtpt9OM/O35GmeFUR
            OUkPxQ15e+3tUnDLUDnkTk3xMVRvJehnk/I75auqlUra55KLqfd6SUEbGP3MU9ZI
            12xVJHQTSN8XWh0++9jNG0eSMe75
            -----END CERTIFICATE-----
      runcmd:
        - update-ca-certificates

Avant que le certificat CA ne soit remplacé sur Rancher, le nouveau certificat CA peut être inclus sur les machines Elemental en les mettant à niveau. Le nouveau certificat CA peut être configuré dans le ManagedOSImage cloudConfig :

apiVersion: elemental.cattle.io/v1beta1
kind: ManagedOSImage
metadata:
  name: ca-cert-upgrade
  namespace: fleet-default
spec:
  # The cloudConfig will be applied after node reboot
  cloudConfig:
    write_files:
      - path: /etc/pki/trust/anchors/rancher-ca-new.pem
        permission: 0444
        content: |-
          -----BEGIN CERTIFICATE-----
          MIIDEDCCAfigAwIBAgIQVgcMnY4HFB5+bZ9yhLaFkTANBgkqhkiG9w0BAQsFADAi
          MSAwHgYDVQQDExdlbGVtZW50YWwtc2VsZnNpZ25lZC1jYTAeFw0yNDEwMDcxMjUx
          MzZaFw0zNTA4MDExMjUxMzZaMCIxIDAeBgNVBAMTF2VsZW1lbnRhbC1zZWxmc2ln
          bmVkLWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwokj48hQFF3
          +v/ObqPOOyYszL/Nyv8/BomPgBia/GXGe8mkQHEWUXFS4P6KdMGQQU3X6Pm071qG
          QEWEIy95szy1H/q1DgZQCM5fjYPcfFJMopQ28vJEk58/9PePr/GZRWAeAhmMKZeg
          HP/wpuUMEdEh7vGYjKjVuIJiFgT2lVDKqrtRIon+L1iIP3IRmVa49UzmdW2wM79W
          a1nv52+EZaw3UDSLPonvs29AZG8M+NuENlefHWEwYVpDEwF9lXinfL3wMw36gIo4
          X4LmStP9WU4mvglrR8Zwj1M9COMrYbBYQ86jUGM0L0eNG52Uflsn+0ttLRhgkpba
          wAl8jAZWdQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB
          /zAdBgNVHQ4EFgQUmOGv0AwumUlwQDdULL2dLik/6FUwDQYJKoZIhvcNAQELBQAD
          ggEBACMmDLbKOgz5Zo1pSLTYc08Nb5sRTK/bW24IZ67cfdPstvTQBDAH5+obAjus
          N2Linl/IAsN8K2cnoBq1gM3sST+YDVOBdItZXwe8jybk3IoJPdzE63l//ReTyTSg
          OamwUR6qHcLZ9XNwS4z8WYNy3mDLO6dgq7udb2DHm/0mvyi3Q0oRvsrI+9JCCrgz
          YTFWEWhbpfUzH+dheISMYJx3l/iIFJajaASWKtGBMnp9G+RC2HhDcDwBnW/4JT1h
          wqvat7kdRIxcWHtW482JKRyfa58QidqA7nIBblZJuWqpo4etAVZTCV/caFKbn/Ek
          FrT88MNiy5xsimgQSdt9vptOvJc=
          -----END CERTIFICATE-----
    runcmd:
      - update-ca-certificates
  osImage: "registry.suse.com/suse/sl-micro/6.0/baremetal-os-container:2.1.2-3.59"
  clusterTargets:
    - clusterName: volcano
  upgradeContainer:
    envs:
      # Use FORCE to force an upgrade.
      # This is convenient when the `osImage` is the same, and only the `cloudConfig` changed.
      - name: FORCE
        value: "false"