Zertifizierungsstellenüberprüfung

Die elemental-register und elemental-system-agent verlassen sich auf die Konfiguration der Zertifizierungsstelle von Rancher, um die Maschinenregistrierung-URL zu überprüfen und Pläne aus der Ferne zu überwachen.

Je nachdem, ob die Zertifizierungsstelle privat oder öffentlich ist, möchten Sie möglicherweise den Agenten anweisen, die strict CA-Überprüfung durchzusetzen oder stattdessen den Systemvertrauensspeicher zu verwenden.

Von Rancher 2.9 wird die agent-tls-mode globale Einstellung auch auf die Installation von Elemental-Agenten angewendet. Beachten Sie, dass, wenn sich die agent-tls-mode Einstellung ändert, Elemental-Maschinen zurückgesetzt werden müssen, damit die Einstellung wirksam wird.

Lebenszyklus des privaten CA-Zertifikats

Bei der Verwendung einer privaten CA wird empfohlen, stets sicherzustellen, dass dieselbe CA auch für Rancher verwendet wird. Elemental wird die cacerts verwenden, wenn das CA-Zertifikat, das von den Agenten vertraut werden soll, einbezogen wird. Dies ist derselbe Wert, wie er auf der https://my.rancher.example/cacerts URL erscheint.

Beachten Sie jedoch, dass es nicht möglich sein wird, diesen Wert zu aktualisieren, nachdem eine Elemental-Maschine installiert wurde. Das Ersetzen des CA-Zertifikats auf Rancher kann dazu führen, dass Elemental-Maschinen nicht mehr in der Lage sind, sich mit Rancher zu verbinden und normal zu arbeiten, wenn die agent-tls-mode auf strict gesetzt ist.

Aus diesem Grund wird empfohlen, stattdessen die agent-tls-mode: system-store Einstellung zu verwenden und den Lebenszyklus der CA-Zertifikate direkt auf den Elemental-Maschinen zu verwalten, wenn eine private CA verwendet wird.

Das CA-Zertifikat kann direkt in benutzerdefinierten OS-Images installiert oder als Cloud-Init-Konfiguration in Elemental-Ressourcen übergeben werden. Zum Beispiel kann das anfängliche CA-Zertifikat in die Maschinenregistrierung cloud-config aufgenommen werden:

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

Bevor das CA-Zertifikat auf Rancher ersetzt wird, kann das neue CA-Zertifikat auf Elemental-Maschinen durch deren Upgrade einbezogen werden. Das neue CA-Zertifikat kann in der ManagedOSImage cloudConfig konfiguriert werden:

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"