-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Labels
rkmRedpoint Kubernetes ManagerRedpoint Kubernetes Manager
Description
Rough outline for this is:
- Need a web service that runs on Linux nodes inside RKM
- This service always runs on the Kubernetes primary node.
- Discovered via UDP broadcast, using the same mechanism that RKM nodes use to discover the controller on first run.
- This service reads a custom resource like "PxeBootNode" or something like that.
- This resource contains the desired computer name and generation number (the latter can be increased to force a reprovision even if Windows is already installed).
- This service reads a custom resource like "PxeBootConfiguration" or something like that.
- This resource contains configuration as to whether AD join should be enabled (including a reference to the certificate in Kubernetes that should be trusted for AD certificate provisioning).
- This service automatically creates X509 certificates signed with the main CA secret in response to PXE Boot node requests, based on the MAC address or computer serial number.
- Maybe we try to have PXE Boot nodes store a certificate or sign data using the TPM, that way we can prove that the node is who it says it is when making the request to the service?
- This configuration needs to also specify what AD group machines should be joined to by default.
- We might need a "PxeBootNodeRequest" resource, which can contain the public fingerprint of a new node that is yet to be approved. That way, we don't have to type MAC address / serial number / TPM public key from the computer showing it in WinPE.
- Need a service that can run on an AD controller that exposes a HTTP endpoint. That endpoint accepts requests signed by client certificates, and uses
djointo generate an offline join file. This file is then sent to the PXE Boot node in WinPE which uses it to apply the join to the VHDX before first boot. In this case we don't set up a local Administrator password on the machine.
Metadata
Metadata
Assignees
Labels
rkmRedpoint Kubernetes ManagerRedpoint Kubernetes Manager