From 2f2c1ec85ecda6e6d4ab216394bbd2672bb51564 Mon Sep 17 00:00:00 2001 From: Micah Hausler Date: Fri, 27 Aug 2021 15:00:20 -0400 Subject: [PATCH] [0025] Add Kubernetes Resource Model Proposal Signed-off-by: Micah Hausler --- .gitignore | 2 + proposals/0026/README.md | 346 +++++++++++++++++++++++++++++++++ proposals/0026/tink-arch-1.png | Bin 0 -> 37194 bytes proposals/0026/tink-arch-2.png | Bin 0 -> 70164 bytes 4 files changed, 348 insertions(+) create mode 100644 .gitignore create mode 100644 proposals/0026/README.md create mode 100644 proposals/0026/tink-arch-1.png create mode 100644 proposals/0026/tink-arch-2.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2f5184c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.*.swp +.DS_Store diff --git a/proposals/0026/README.md b/proposals/0026/README.md new file mode 100644 index 0000000..63005b3 --- /dev/null +++ b/proposals/0026/README.md @@ -0,0 +1,346 @@ +--- +id: 0026 +title: Support for the Kubernetes Resource Model +status: published +authors: Micah Hausler +--- + +## Summary + +This is a proposal to operate Tinkerbell as an application on top of the [Kubernetes Resource Model][krm] (KRM). +It is a rearchitecture of the 'control plane' backend, and leaves the 'data plane' components of Tink workers and actions unchanged. +It will require a transition period where Postgres and the full Tinkerbell API will be supported, then deprecated, then removed. +The four separate stages are: +1. Support full existing API and Postgres backend +2. Support full existing API and Postgres backend, as well as K8s resource model (KRM) +3. Deprecate most of the existing API and Postgres backend. + Continue to build out and support KRM +4. Remove existing non-worker APIs, only support KRM + +[krm]: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/resource-management.md + +## Goals and not Goals + +Goals: +* **Compatibility with existing Tink workers, workflow execution, and actions.** +* **More easily support non-request serving controllers in Tinkerbell.** + In this architecture, controllers like PBnJ could leverage Kubernetes primitives like [Custom Resource Definitions][crds] (CRDs), [WATCH APIs][watch], and [Field Management][fm] to complete workflow steps. +* **Reduce the security surface of the Tinkerbell API.** + Tinkerbell is a high-value component of data center infrastructure, so protection of DHCP infrastructure, BMC/IPMI management, needs to be treated as such. + Implementing multiple authorization modes is a non-trivial task. + The fewer APIs, and authorization options, and lines of code that exist, the fewer opportunities there are for security issues to arise. +* **Support a highly-available architecture.** + Postgres is a fantastic database, but managing high-availability with graceful failover is not trivial. + Using an alternative data store that better supports failure will better help operators to have higher availability and not require downtime for upgrades or failover. +* **Add KRM support for existing components**. + Hegel, Boots, and Tinkerbell API will be modified to use Kubernetes as the datastore with a feature flag +* **Support migration of existing installations.** + Migration tooling and documentation will be provided for existing Workflows, Hardware, and Templates stored in Tinkerbell. + Migration should be as straightforward as: + * Creating Tinkerbell CRDs in the Kubernetes API + * Running a provided migration command + * Restarting each Tinkerbell component targeting Kubernetes with a feature flag enabled + +Non Goals: +* **Implement attribute-based authorization in Tink API.** + This is intentionally descoped from this proposal and can be implemented in a separate proposal. +* **Require Tinkerbell to be operated as pods inside Kubernetes.** + The Kubernetes API will become a dependency of Tinkerbell, but that API could exist in a cloud provider or on-premise. +* **Require the use of Cluster API ([CAPI][capi]).** + The [Tinkerbell CAPI provider][capt] (CAPT) is mentioned in this proposal only for reference of a known Tinkerbell client. + Implementation of this proposal will necessitate changes in CAPT, but that is not the core motivation for this proposal. +* **Implementation of PBnJ as a Kubernetes controller** + This can be implemented in a separate proposal. +* **Make the Tink worker a client of Kubernetes.** + Kubernetes doesn't natively support robust attribute-based identities for non-node identities. + For example, if the Tink worker were a Kubernetes client, it would not possible with Kubernetes RBAC to ensure that a particular worker can only view or mutate hardware data or workflows that relate to that worker. + It does have the [Node Authorizer][node-authorizer], but that is specific to authorization of Kubelet communication to the Kubernetes API. +* **Provide a zero-downtime migration experience.** + Migration tooling and documentation will be provided, but migrating in-progress workflows is out of scope. +* **Implement a proxy interface for the legacy API.** + Existing APIs that do not support worker actions will not be served when the Kubernetes backend is enabled. + +[crds]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ +[watch]: https://kubernetes.io/docs/reference/using-api/api-concepts/#efficient-detection-of-changes +[fm]: https://kubernetes.io/docs/reference/using-api/server-side-apply/#field-management +[capi]: https://cluster-api.sigs.k8s.io/ +[capt]: https://github.com/tinkerbell/cluster-api-provider-tink + +## Content + +### Architectural Motivation + +Tinkerbell is very flexible and uses standard protocols like PXE, DHCP, and HTTP to support provisioning hardware. +In order to support more features, more API machinery work will be required. +Listed below are some of the contributing architectural motivations. + +* Streaming updates to clients is difficult with the current database +* Multiple-worker workflows will require numerous API changes +* There is no authorization in the Tinkerbell API today. + In order to support a least-privilege access model, several new authorization modes would need to be supported. + Implementation of such robust authorizations is non-trivial, and would require extensive initial design work. + * An attribute-based authorization method for Tink workers. + At the time of writing, any Tink worker is authorized to list all hardware data, including possibly sensitive metadata for other hardware. + Today, the Tinkerbell Cluster API (CAPI) provider stores machine CA private key data in Tinkerbell hardware metadata. + Ideally, some authorizer that could make decisions based on authentication identity would be used (The Kubernetes analog would be the [Node Authorizer][node-authorizer]). + The authentication method in this model could be a network identity, a TPM, or some other bootstrapped authentication credential. + * A role-based access method administrative clients. + * Either a role-based access method, or some forwarding mechanism for passthrough clients like Boots and Hegel. +* Operating high-availability Postgres is non-trivial in many environments. + +[node-authorizer]: https://kubernetes.io/docs/reference/access-authn-authz/node/ + +If we only focus on the Tinkerbell API clients as it exists in Q3 2021, the architecture looks something like the following: + +[![current-architecture](./tink-arch-1.png)](.tink-arch-2.png) + +In this proposal, all non-worker clients of Tinkerbell will become Kubernetes clients. + +[![proposed-architecture](./tink-arch-2.png)](./tink-arch-2.png) + +By using the Kubernetes API as the datastore, the motivations are addressed in the following ways: + +* Kubernetes natively supports streaming watches for CRD types. + Any process (PBnJ, Tink API, CAPT, etc) that need streaming updates can leverage Kubernetes Watches. +* Multi-worker workflows will require some backend changes, but that will be opaque to Tink worker clients. +* The only authorization mode required for the Tinkerbell API will be to support workers completing workflows + * All Kubernetes clients (Boots, Hegel, PBnJ, etc) can have least-permission RBAC policies to limit the permissions for each respective client. +* High-availability Kubernetes and etcd can be delegated to a cloud provider or an on-premise Kubernetes cluster + +### Components + +**Tinkerbell API**: At the end of this process, the Tink API will become essentially a proxy for state changes to workflows from Workers. +It will require read access to Hardware, Workflows, and Templates, as well as write access to the status of Workflows to propagate state changes from workers. + +The following [Tinkerbell Workflow APIs][wf-apis] are used by the Tink worker, and will remain. +After a deprecation period, all other Tinkerbell APIs will be removed. + +[wf-apis]: https://github.com/tinkerbell/tink/blob/f6aa3930/protos/workflow/workflow.proto + +```protobuf +service WorkflowService { + rpc GetWorkflowContexts(WorkflowContextRequest) returns (stream WorkflowContext) {} + rpc GetWorkflowActions(WorkflowActionsRequest) returns (WorkflowActionList) {} + rpc ReportActionStatus(WorkflowActionStatus) returns (Empty) {} + rpc GetWorkflowData(GetWorkflowDataRequest) returns (GetWorkflowDataResponse) {} + rpc UpdateWorkflowData(UpdateWorkflowDataRequest) returns (Empty) {} +} +``` + +**Tink Worker**: The tink worker will remain unchanged. + +**Tinkerbell Controller**: This new process will function as a set [Kubernetes Controllers][controllers] (state enforcement control loops) to govern the `.status` of Workflows, Templates, and Hardware. +This is separate from Cluster API (CAPI) controllers. + +[controllers]: https://kubernetes.io/docs/concepts/architecture/controller/ + +**Kubernetes Webhook**: The [webhook][k8s-webhook] will validate and modify in-flight mutations of Tinkerbelll resourses. +This will be used to perform deeper create/update validations on fields beyond simple type validation. +This will also be useful to support schema updates when updating to new API versions. + +[k8s-webhook]: https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/ + +**Boots**: Boots will become a client of Kubernetes, and will read Hardware data out of Kubernetes. + +**Hegel**: Hegel will become a client of Kubernetes, and will read Hardware data out of Kubernetes. + +**OSIE/Hook**: No changes are required in the assembly of Tink worker images. + +**PBnJ**: PBnJ changes are out of scope of this proposal. +Future work in PBnJ will allow it to watch Workflows in the Kubernetes API and perform actions such as turning power on and off, mounting virtual media, and configuring BIOS. + +**Kuberentes Cluster API Tinkerbell (CAPT)**: Modifications to CAPT are out of scope for this proposal, but will be necessary once this is implemented. + +### User Experience + +In order to use Tinkerbell, clients will interact with the Kubernetes API. +In order to provision a machine, the steps will be: + +1. User creates a Hardware CRD object in Kubernetes. + ```bash + kubectl apply -f ./hardware.yaml + ``` + This is analogous to the current `tink hardware push < hardware.json` command. +2. User creates a Template CRD object in Kubernetes. + ```bash + kubectl apply -f ./template.yaml + ``` + This is analogous to the current `tink template create < template.json` command +3. User creates a Workflow CRD object in Kubernetes. + ```bash + kubectl apply -f ./workflow.yaml + ``` + All the user will need to specify in the object `.spec` will be a reference to the Template object, and mappings for devices. + This is analogous to the current `tink workflow create -t $TEMPLATE_ID -r "{\"device_1\":\"$MAC_ADDR\"}` command. +4. The Tinkerbell API will include a Kubernetes workflow controller that will watch for created workflows, and fill out the `.status` with most of the logic that currently exists in the [`CreateWorkflow()`][createwfrpc] RPC. +5. The Tinkerbell API could subscribe to Workflow CRD changes, and stream them on to Tinkerbell worker clients over the existing [`GetWorkflowContexts()`][getwfctxs] streaming RPC. +6. Tinkerbell worker clients will continue to call the existing Tinkerbell APIs to execute workflows. + The Tinkerbell API will store updates in a Workflow CRD `.status` + +[createwfrpc]: https://github.com/tinkerbell/tink/blob/b217be8/grpc-server/workflow.go#L19-L72 +[getwfctxs]: https://github.com/tinkerbell/tink/blob/a56e5cf9/protos/workflow/workflow.proto#L75 + +### Administrative Tasks + +**Migration from Postgres** + +In order to support a migration from Postgres, we will add a feature flag to Tinkerbell components and include migration tooling. + +A zero-downtime migration is not in scope for this change mainly because it would add significant complexity and require mirroring data between Postgres and Kubernetes. + +**Bootstrapping** + +One of the stated design goals is to not require running the Tinkerbell control plane as pods in the Kubernetes cluster. +Installation of Tinkerbell using Kubernetes as a datastore will differ in the following ways: +* A Kubernetes cluster will need to exist. +* A Kubernetes [validating admission webhook][validating-webhook] for CRD types will need to be reachable by the Kubernetes API server. + This component is most easily operated as a pod in a cluster, but could be operated and hosted externally. + It does not require access to the on-premise Tinkerbell control plane. +* Tinkerbell API, Hegel, and Boots will need network connectivity and credentials to the Kubernetes API. + As processes existing outside of the Kubernetes cluster, this will most likely be [x509 client certificates][x509-certs] or exported [Kubernetes Service Account tokens][sa-tokens]. +* Hardware and Templates will be seeded using `kubectl` instead of `tink-cli` + +[validating-webhook]: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook +[x509-certs]: https://kubernetes.io/docs/reference/access-authn-authz/authentication/#x509-client-certs +[sa-tokens]: https://kubernetes.io/docs/reference/access-authn-authz/authentication/#service-account-tokens + +**Migrating between Kubernetes clusters, Backups, and Restoration** + +In order to support the a bootstrap cluster model, migration from one cluster to another will need to be built. +Backups of Hardware, Templates, and Workflows can be made using [`kubectl`][kubectl], but simple restoration is not possible as the [`/status` subresource][status-subresource] on CRDs makes the `.status` field a separate API call. + +Concerns around data backup and failover were previously delegated to Postgres administration and now become a Kubernetes administration issue. + +An administrative tool will need to implement backup and restore functionality to support both these administrative concerns. +This will most likely be a command line application for Tinkerbell administrators. + +Should operators want to run Tinkerbell in an on-premise Kubernetes cluster and use that cluster as the data store, they will need to bootstrap the Tinkerbell control plane. +In order to support this mode, we will need to support migration from either a cloud Kubernetes cluster or a temporaraly bootstrap cluster with something like [`kind`][kind] or [k3s][k3s] to a long-lived on-premise management cluster. + +[kubectl]: https://kubernetes.io/docs/reference/kubectl/overview/ +[status-subresource]: https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#status-subresource +[kind]: https://kind.sigs.k8s.io/ + +### Failure modes + +**Kubernetes unavailability** + +This change introduces a dependency on Kubernetes being available. +Concerns around data backup and failover were previously delegated to Postgres administration and now become a Kubernetes administration issue. +As mentioned previously, backup and restoration commands will be added to restore from Kubernetes API unavailability and could help support switching to a different underlying Kubernetes cluster should the primary cluster become unavailable. + +**Stale client-side cache** + +Kubernetes [controller-runtime][controller-runtime] uses a client-side watch cache to recieve updates from the API server. +This cache can become out of date, in which case clients such as the Tink API, Boots, or Hegel might be missing machine data. +The failure cases here generally would result in the failure of a workflow or delay in a machine to recieve an IP address. +These issues can be mitigated by reducing the [sync period][sync-period] in the client cache, and using retry logic in clients such as the Tink worker. + +[controller-runtime]: https://pkg.go.dev/sigs.k8s.io/controller-runtime#hdr-Clients_and_Caches +[sync-period]: https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.10.2/pkg/config/v1alpha1#ControllerManagerConfigurationSpec + +### Tradeoffs + +The biggest architectural tradeoff in implementing this proposal is ease of feature development for simplicity of administration. +Kubernetes has a lot of industry hype, baggage (but not literal [baggage][k8s-baggage]), and [public failure stories][k8s-af]. +On-premise operators may not have experience with using or operating Kubernetes and be wary of adding additional complexity. +Operators have numerous options to use and deploy Kubernetes, so in order to mitigate concerns around complexity, we will provide extensive documentation on different alternatives to meet an operator's objectives. + +Examples include: +* A cloud provider managed Kubernetes solution (GKE, AKS, EKS) +* A single host [K3s][k3s] cluster +* An installation of [KCP][kcp] +* A multi-host on-premise cluster + + +[k8s-baggage]: https://www.redbubble.com/shop/kubernetes+bags +[k8s-af]: https://k8s.af/ +[kcp]: https://github.com/kcp-dev/kcp/ +[k3s]: https://k3s.io + +## System-context-diagram + +See above diagrams. + +## APIs + +The structure of the Kubernetes CRD types will start out similar to those defined in the [Tinkerbell CAPI Provider][capt-types]. +The code defining those types will be migrated into the tinkerbell/tink GitHub repository so other clients could import the Go packages. +Specific API structures are out of scope for this proposal, and can be iterated on in pull requests to + +[capt-types]: https://github.com/tinkerbell/cluster-api-provider-tink/tree/main/tink/api/v1alpha1 + +## Threat Model + +### Actors + +**Machines** + +In this proposal, a machine is not trusted any more than in Tinkerbell's API today. +By design, in this proposal machines will have decreased access than they do today, with access to the APIs listed above. +As it is in Tinkerbell today, the network is trusted when provisioning hardware. + +**Hegel** + +Hegel will only require read-only access to Hardware CRDs in Kubernetes. +RBAC policies will govern the level of access to the Kubernetes API. + +Hegel will need to guard against confused-deputy attacks and not return metadata to the wrong client. + +**Boots** + +Boots will only require read-only access to Hardware CRDs in Kubernetes. +RBAC policies will govern the level of access to the Kubernetes API. + +**PBnJ** + +PBnJ will require: +* Read-only access to Hardware CRDs to discover management interface connectivity +* Mutating access to Workflow CRDs to execute workflow steps like power cycling and BIOS management +* Some level of secret access to connect to management interfaces. + Implementation and design of that access is out of scope of this proposal. + +**Tink API** + +The Tinkerbell API will require: +* Read access to Hardware CRDs in Kubernetes +* Read access to Template CRDs in Kubernetes +* Write access to Workflow CRDs in Kubernetes + +**Tinkerbell Workflow Controller** + +There will need to be a controller to process creation of workflows. +It will need: +* Read access to Hardware CRDs in Kubernetes +* Read access to Template CRDs in Kubernetes +* Write access to Workflow CRDs `.spec` in Kubernetes + +**Tinkerbell Validating Webhook** + +A validating webhook will be used to validate Templates and Workflows as they are created. +It will not require any Kubernetes API access, but needs to be reachable by the Kubernetes API server. + +**Tinkerbell Administrator** + +Tinkerbell administrators might require varying levels of access in order to perform CRUD operations on any or all Tinkerbell types. +Kubernetes cluster administrators can define custom levels of access with RBAC policies to grant Tinkerbell admins the correct least-privilege level of access. + +### Threats + +Note: _Not all threats are enumerated here, only key concerns from the design._ + +| Threat | Mitigation | +|--|--| +| An actor attempts to influence Boots or Hegel to modify CRD state in Kubernetes | The RBAC policies for Boots and Hegel will be read-only | +| An actor attempts to view or mutate Hardware state in the Tinkerbell API | The Tinkerbell API no longer serves or supports mutation of hardware data | + +## Alternatives + +The main alternative to achieve the stated design goal around availability would leave the Tinkerbell API alone, and leverage/modify the Tinkerbell server's [internal Database interface][tink-db-iface] to function on top of Kubernetes or a key-value datastore like [etcd][etcd]. +This alternative would help with high-availability deployments, but all the other motivations would remain unaddressed, and need to be implemented in Tinkerbell's API. + +Another alternative would be support the current architecture and codebase for existing functionality, and any new functionality would require migrating to use the Kubernetes resource model. +This proposal does include maintaining the existing functionality and architecture for some period of time, but supporting it indefinitely would add significantly diverging code paths and increased maintenance effort. + +[tink-db-iface]: https://github.com/tinkerbell/tink/blob/0f46dc0/db/db.go#L21-L60 +[etcd]: https://etcd.io/ \ No newline at end of file diff --git a/proposals/0026/tink-arch-1.png b/proposals/0026/tink-arch-1.png new file mode 100644 index 0000000000000000000000000000000000000000..9f9fbbaf7353418ee3a52629fb716c9e8e975e4f GIT binary patch literal 37194 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 AKmY&$ literal 0 HcmV?d00001 diff --git a/proposals/0026/tink-arch-2.png b/proposals/0026/tink-arch-2.png new file mode 100644 index 0000000000000000000000000000000000000000..052bd02cc0a5fcd5b555f2806d89c1359c44746d GIT binary patch literal 70164 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 j6^S5U|9?IttwC|