From 36a663ac1dfe896d1ab240c50f61c56e5851f5c9 Mon Sep 17 00:00:00 2001 From: chao zheng Date: Mon, 26 Oct 2020 10:58:13 -0700 Subject: [PATCH] add proposal of creating nested control plane components --- ...01026-creating-control-plane-components.md | 319 ++++++++++++++++++ proposals/in-tree.png | Bin 0 -> 34823 bytes proposals/out-of-tree.png | Bin 0 -> 47893 bytes 3 files changed, 319 insertions(+) create mode 100644 proposals/20201026-creating-control-plane-components.md create mode 100644 proposals/in-tree.png create mode 100644 proposals/out-of-tree.png diff --git a/proposals/20201026-creating-control-plane-components.md b/proposals/20201026-creating-control-plane-components.md new file mode 100644 index 00000000..a74436bd --- /dev/null +++ b/proposals/20201026-creating-control-plane-components.md @@ -0,0 +1,319 @@ +--- +title: Creating Control Plane Components +authors: + - "@charleszheng44" +reviewers: + - "@christopherhein" + - "@Fei-Guo" + - "@vincepri" + - "@brightzheng100" +creation-date: 2020-10-26 +last-updated: 2020-11-09 +status: provisional +--- + +# Creating Control Plane Components + +## Table of Contents + +* [Creating Control Plane Components](#creating-control-plane-components) + * [Table of Contents](#table-of-contents) + * [Glossary](#glossary) + * [Summary](#summary) + * [Motivation](#motivation) + * [Goals](#goals) + * [Non-Goals](#non-goals) + * [Proposal](#proposal) + * [Portability and Customizability](#portability-and-customizability) + * [Bootstrap](#bootstrap) + * [Create prerequisites](#create-prerequisites) + * [Creation](#creation) + * [In-tree](#in-tree) + * [Using out-of-tree provisioners](#using-out-of-tree-provisioners) + * [Control Plane Custom Resources](#control-plane-custom-resources) + * [NestedEtcd CRD](#nestedetcd-crd) + * [NestedAPIServer CRD](#nestedapiserver-crd) + * [NestedControllerManager CRD](#nestedcontrollermanager-crd) + * [Security Model](#security-model) + * [Implementation History](#implementation-history) + +## Glossary + +Refer to the [CAPN Glossary](https://github.com/kubernetes-sigs/cluster-api-provider-nested/blob/master/proposals/00_capn-glossary.md). + +## Summary + +The goal of this proposal is to define CRDs of the three major components (kube-apiserver~(KAS), Etcd, kube-controller-manager~(KCM)) of the NCP, and a standard process of creating them. + +## Motivation + +CAPN aims at providing control plane level isolation while sharing physical resources among control planes. There exist various approaches to creating isolated control planes. For example, one can run components of the nested control plane as pods on the underlying clusters, create NCPs through cloud providers' Kubernetes services or use out-of-tree component controllers to create each component. In this proposal, we try to define CRDs of the NCP's three major components and a standard process of creating the three components regardless of which underlying approach is used. As examples, we introduce two setups that 1) creating each component natively, 2) creating KAM and KCM natively while using the [Etcd-cluster-operator](https://github.com/improbable-eng/etcd-cluster-operator) to create the Etcd. + +### Goals + +- Define the CRD that represents each control plane component. The CRD needs to meet two requirements: + * Portable - the CRD should hold information that is required by different component controllers, e.g., [etcdadm](https://github.com/kubernetes-sigs/etcdadm), [etcd-operator](https://github.com/coreos/etcd-operator), and [etcd-cluster-operator](https://github.com/improbable-eng/etcd-cluster-operator/blob/f84abc6561735814debd67d45bb62d2d2ed8cf4a/api/v1alpha1/etcdcluster_types.go#L31-L47) + * Customizable - the CRD should allow end-users to customize each component, i.e., specify the image, component version, and command-line options. + +- Define a standard process of creating control plane components for NCP. + +- Support independently creating/updating each component + +### Non-Goals + +- Define how NCP controller works. + +- Discuss the implementation details of the out-of-tree component controllers. + +## Proposal + +### Portability and Customizability + +Generally, creating the three major components requires similar high-level information, like the components' version, the number of replicas, and the amount of computing resources. Meanwhile, end-users should be able to customize NCP components, i.e., specifying the component image, version, and command-line options. Therefore, we define a new struct `NestedComponentSpec` that contains common information required by different providers as well as customized information specified by the end-users. The `NestedComponentSpec` will look like the following + +```go +type NestedComponentSpec struct { + // NestedComponentSpec defines the common information for creating the component + // +optional + addonv1alpha1.CommonSpec `json:",inline"` + + // PatchSpecs includes the user specifed settings + // +optional + addonv1alpha1.PatchSpec `json:",inline"` + + // Resources defines the amount of computing resources that will be used by this component + // +optional + Resources corev1.ResourceRequirements `json:"resources",omitempty` + + // Replicas defines the number of replicas in the component's workload + // +optional + Replicas int32 `json:"replicas",omitempty` +} +``` + +The `CommonSpecs` and the `PatchSpec` are defined in [kubebuilder-declarative-pattern](https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/blob/1cbf859290cab81ae8e73fc5caebe792280175d1/pkg/patterns/addon/pkg/apis/v1alpha1/common_types.go): + + +```go +// CommonSpec defines the set of configuration attributes that must be exposed on all addons. +type CommonSpec struct { + // Version specifies the exact addon version to be deployed, eg 1.2.3 + // It should not be specified if Channel is specified + Version string `json:"version,omitempty"` + // Channel specifies a channel that can be used to resolve a specific addon, eg: stable + // It will be ignored if Version is specified + Channel string `json:"channel,omitempty"` +} + +// +k8s:deepcopy-gen=true +type PatchSpec struct { + Patches []*runtime.RawExtension `json:"patches,omitempty"` +} +``` + +### Bootstrap + +#### Create prerequisites + +We assume that the APIServer, ContollerManager, Etcd, and the NCP CR are located in the same namespace. To create an NCP, we need first to create NestedAPIserver CR, NestedControllerManager CR, NestedEtcd CR, NCP CR, and a namespace that holds all the CRs, then the component controller can cooperate to create components for the NCP. + +As there exist dependencies between components, i.e., KAS cannot run without Etcd, KCM cannot work without KAS, when creating NCP components, component controllers will need to get information and status of other CRs. To achieve this, we will add three `ObjectReference` to the `NestedControlPlaneSpec` with each `ObjectReference` points to a component. + +```go +type NestedControlPlaneSpec struct { + // other fields ... + + // EtcdRef is the eference to the NestedEtcd + EtcdRef *corev1.ObjectReference `json:"etcd,omitempty"` + + // APIServerRef is the reference to the NestedAPIServer + APIServerRef *corev1.ObjectReference `json:"apiserver,omitempty"` + + // ContollerManagerRef is the reference to the NestedControllerManager + ControllerManagerRef *corev1.ObjectReference `json:"controllerManager,omitempty"` +} +``` + +After applying the NCP CR, the NCP controller will find the three associated components and set their `metav1.OwnerReference` as the NCP CR. Then, the component controller can find other CRs through the owner NCP, when creating the corresponding component workload. + +### Creation + +End-users can create component CRs manually and apply them to the cluster with an NCP to create the resources. In the future, we might introduce the `Template` CR, which will handle the creation of the component CRs in it's controller. We assume that there will be only one component controller for each component at any given time, and it is the cluster administrator's responsibility to set up the proper component controllers. + +#### In-tree + +The component controller will create the component under the in-tree mode, which will create the component using the default manifests. The readiness and liveness probe will be used, and we will mark each component as ready only when the corresponding workload is ready. As the KAS cannot work without available Etcd and the KCM cannot run without KAS, the three components need to be created by their respective controllers in the order of Etcd, KAS, and KCM. Creation order is maintained using cross resource status, which checks and wait until the dependencies are provisioned. We will host sets of default templates in this repository. Users can specify which set of templates they intend to use by specifying the corresponding `version` or `channel` in the embedded `CommonSpec` in the component's CR. + +Each component's controller will generate necessary certificates for the component and store them to the [secret resources](https://cluster-api.sigs.k8s.io/tasks/certs/using-custom-certificates.html) defined by CAPI. Also, The KAS controller will store the content of the kubeconfig file in a secret named `[clustername]-kubeconfig`. + +![Control Plane Creating Process](in-tree.png) + +The creating process will include six steps: + +1. The user generates all CRs, i.e., NCP, Etcd, APIServer, ControllerManager, with the same namespace, and apply them. + +2. The Etcd controller generates the certificates (including a root CA and TLS serving certificates), creates the Etcd workload, and stores the certificates into `secret/[cluster-name]-etcd` + +3. The KAS controller creates a KAS service (for exposing the NCP), generates certificates (including a root CA, TLS serving certificates), creates the KAS workload, stores the certificates into `secret/[cluster-name]-ca`, creates a kubeconfig and stores it into `secret/[cluster-name]-kubeconfig`. + +4. The KCM controller generates the KCM kubeconfig and creates the KCM workload. + +5. After all the three components are ready, the NCP controller marks the NCP CR as ready. + +#### Using out-of-tree provisioners + +If users intend to use an external controller to create the NCP component, they may need to implement a new component controller that can interact with the component CR and the external controller to create the component. For example, if the user wanted to use the [etcd-cluster-operator](https://github.com/improbable-eng/etcd-cluster-operator) that requires the [EtcdCluster](https://github.com/improbable-eng/etcd-cluster-operator/blob/master/api/v1alpha1/etcdcluster_types.go) CR. They need to implement a custom controller that watches the `NestedEtcd` resource, creates the necessary CRs for that implementation, and updates the required status fields on `NestedEtcd` to allow dependent services to be provisioned. This can be done using the [kubebuilder-declarative-pattern](https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern) like is done for in-tree component controllers. + +![Creating a Control Plane using out-of-tree provisioners](out-of-tree.png) + +In the following example, we assume that the user intends to use Etcd-cluster-operator(ECO) as the Etcd controller. The creating process will include seven steps: + +1. The cluster administrator deletes the in-tree Etcd controller and deploys the custom Etcd controller (ECO controller). + +2. The user generates all CRs and apply them. + +3. The ECO controller creates the EtcdCluster CR. + +4. The ECO creates the Etcd workload. + +5. At the meantime, the ECO controller keeps watching the EtcdCluster CR, stores the Etcd CA into the `secret/[cluster-name]-etcd`, and updates the `Etcd` CR accordingly. + +6. The KAS controller creates the KAS service, generates certificates, creates the KAS workload, stores certificates into `secret/[cluster-name]-ca`, creates the kubeconfig and stores it into the `secret/[cluster-name]-kubeconfig` + +7. The KCM controller generates the KCM kubeconfig and creates the KCM workload. + +8. Once all the three components are ready, the NCP controller marks the NCP CR as ready. + +### Control Plane Custom Resources + +The followings are CRDs of the three components. + +### NestedEtcd CRD +```go +// NestedEtcdSpec defines the desired state of Etcd +type NestedEtcdSpec struct { + // NestedComponentSpec contains the common and user-specified information that are + // required for creating the component + // +optional + NestedComponentSpec `json:",inline"` +} + +// NestedEtcdStatus defines the observed state of Etcd +type NestedEtcdStatus struct { + // Ready is set if all resources have been created + Ready bool `json:"ready,omitempty"` + + // EtcdDomain defines how to address the etcd instance + Addresses []NestedEtcdAddress `json:"addresses,omitempty"` + + // CommonStatus allows addons status monitoring + addonv1alpha1. CommonStatus `json:",inline"` +} + +// EtcdAddress defines the observed addresses for etcd +type NestedEtcdAddress struct { + // IP Address of the etcd instance. + // +optional + IP string `json:"ip,omitempty"` + + // Hostname of the etcd instance + Hostname string `json:"hostname,omitempty"` + + // Port of the etcd instance + // +optional + Port int32 `json:"port"` +} + +// NestedEtcd is the Schema for the Etcd API +type NestedEtcd struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec EtcdSpec `json:"spec,omitempty"` + Status EtcdStatus `json:"status,omitempty"` +} +``` + +### NestedAPIServer CRD + +```go +type NestedAPIServerSpec struct { + // NestedComponentSpec contains the common and user-specified information that are + // required for creating the component + // +optional + NestedComponentSpec `json:",inline"` +} + +// NestedAPIServerStatus defines the observed state of APIServer +type NestedAPIServerStatus struct { + // Ready is set if all resources have been created + // +kubebuilder:default=false + Ready bool `json:"ready,omitempty"` + + // APIServerService is the reference to the service that expose the APIServer + // +optional + APIServerService *corev1.ObjectReference `json:"apiserverService,omitempty"` + + // CommonStatus allows addons status monitoring + addonv1alpha1. CommonStatus `json:",inline"` +} + +// NestedAPIServer is the Schema for the APIServers API +type NestedAPIServer struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec NestedAPIServerSpec `json:"spec,omitempty"` + Status NestedAPIServerStatus `json:"status,omitempty"` +} +``` + +### NestedControllerManager CRD + +```go +// NestedControllerManagerSpec defines the desired state of ControllerManager +type NestedControllerManagerSec struct { + // NestedComponentSpec contains the common and user-specified information that are + // required for creating the component + // +optional + NestedComponentSpec `json:",inline"` +} + +// NestedControllerManagerStatus defines the observed state of ControllerManager +type NestedControllerManagerStatus struct { + // Ready is set if all resources have been created + Ready bool `json:"ready,omitempty"` + + // CommonStatus allows addons status monitoring + addonv1alpha1. CommonStatus `json:",inline"` +} + +// NestedControllerManager is the Schema for the ControllerManagers API +type NestedControllerManager struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec NestedControllerManagerSpec `json:"spec,omitempty"` + Status NestedControllerManagerStatus `json:"status,omitempty"` +} +``` + +### Security Model + +Creating an NCP requires the end-user to submit a creation request, and the +cluster administrator will be responsible for creating the NCP CRs and applying +them. Once the NCP is ready, the cluster administrator will return a kubeconfig +to the end-user, as each end-user can only access the apiserver assigned to them. +There is no need to worry about malicious users to manipulate other users' resources. +A malicious user can still skew the system by creating a massive amount of resources. +To avoid this, we need to enhance the syncer component; however, this topic is +beyond this proposal's scope. The proposed mechanism will not lead to any +severe security issues. + +## Implementation History + +- [ ] MM/DD/YYYY: Proposed idea in an issue or [community meeting] +- [ ] MM/DD/YYYY: Compile a Google Doc following the CAEP template (link here) +- [ ] MM/DD/YYYY: First round of feedback from community +- [ ] MM/DD/YYYY: Present proposal at a [community meeting] +- [ ] MM/DD/YYYY: Open proposal PR diff --git a/proposals/in-tree.png b/proposals/in-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..3376e334e5c0d60d5dc7dfb7161ec8a73b5ca4cc GIT binary patch literal 34823 zcmbq*XIPV4)2`dC+gMOSkq#0%2uP7$G$a)1NRc9lNN>_RSRy4f=^YGJx{v@OO+}

nTj$(=ggV2 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 Mgq(OWT+jFa02mZdRsaA1 literal 0 HcmV?d00001 diff --git a/proposals/out-of-tree.png b/proposals/out-of-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..876d56a1ba56501d07404e354d60e36c1e103f24 GIT binary patch literal 47893 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 NQ@*cMdB-aJe*qc55>x;H literal 0 HcmV?d00001