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"