README
¶
List of included CRDs
MultitenantPodNetworkConfig CRDs
MTPNC objects represent the network configuration goal state for a pod running a multitenant networked container and are created and managed by control plane as part of the network configuration, during Pod lifecycle events.
NodeInfo CRDs
This CRD is added to enable VNET multitenancy – which will be watched and managed by the control plane.
NodeInfo objects are created by CNS as part of the node registration flow, and is used to pass any metadata from the VM needed by control plane. E.g.: vmUniqueID etc
PodNetwork CRDs
This CRD is added to enable VNET multitenancy – which will be watched and managed by the control plane.
PodNetwork objects need to be created by Orchestrator in the subnet delegation flow. These represent a Cx subnet already delegated by the customer to the Orchestrator and locked with a Service Association Link (SAL) on network RP.
Pod Network Instance (PNI)
PNIs represent optional requirements, or behavior configurations for how we setup the pod networking. They should map 1:1 and follow the lifetime of a customer workload.
The object points to the PodNetwork for the delegated subnet to use and defines allocation requirements (e.g.: for IPs to reserve for pod endpoints). Orchestrator can map the deployments with these requirements to the PNI object through labels on the pod spec pointing to this object identifier.
Documentation
¶
Index ¶
- Variables
- func GetMultitenantPodNetworkConfigs() (*apiextensionsv1.CustomResourceDefinition, error)
- func GetNodeInfo() (*apiextensionsv1.CustomResourceDefinition, error)
- func GetPodNetworkInstances() (*apiextensionsv1.CustomResourceDefinition, error)
- func GetPodNetworks() (*apiextensionsv1.CustomResourceDefinition, error)
- type Installer
- func (i *Installer) InstallMTPNC(ctx context.Context) (*v1.CustomResourceDefinition, error)
- func (i *Installer) InstallNodeInfo(ctx context.Context) (*v1.CustomResourceDefinition, error)
- func (i *Installer) InstallOrUpdateMTPNC(ctx context.Context) (*v1.CustomResourceDefinition, error)
- func (i *Installer) InstallOrUpdateNodeInfo(ctx context.Context) (*v1.CustomResourceDefinition, error)
- func (i *Installer) InstallOrUpdatePodNetwork(ctx context.Context) (*v1.CustomResourceDefinition, error)
- func (i *Installer) InstallOrUpdatePodNetworkInstance(ctx context.Context) (*v1.CustomResourceDefinition, error)
- func (i *Installer) InstallPodNetwork(ctx context.Context) (*v1.CustomResourceDefinition, error)
- func (i *Installer) InstallPodNetworkInstance(ctx context.Context) (*v1.CustomResourceDefinition, error)
- type NodeInfoClient
Constants ¶
This section is empty.
Variables ¶
var MultitenantPodNetworkConfigsYAML []byte
MultitenantPodNetworkConfigsYAML embeds the CRD YAML for downstream consumers.
var NodeInfoYAML []byte
NodeInfoYAML embeds the CRD YAML for downstream consumers.
var PodNetworkInstanceYAML []byte
PodNetworkInstanceYAML embeds the CRD YAML for downstream consumers.
var PodNetworkYAML []byte
PodNetworkYAML embeds the CRD YAML for downstream consumers.
var Scheme = runtime.NewScheme()
Scheme is a runtime scheme containing the client-go scheme and the MTPNC/NI scheme.
Functions ¶
func GetMultitenantPodNetworkConfigs ¶
func GetMultitenantPodNetworkConfigs() (*apiextensionsv1.CustomResourceDefinition, error)
GetMultitenantPodNetworkConfigs parses the raw []byte MultitenantPodNetworkConfigs in to a CustomResourceDefinition and returns it or an unmarshalling error.
func GetNodeInfo ¶
func GetNodeInfo() (*apiextensionsv1.CustomResourceDefinition, error)
GetNodeInfo parses the raw []byte NodeInfo in to a CustomResourceDefinition and returns it or an unmarshalling error.
func GetPodNetworkInstances ¶
func GetPodNetworkInstances() (*apiextensionsv1.CustomResourceDefinition, error)
GetPodNetworkInstances parses the raw []byte PodNetworkInstance in to a CustomResourceDefinition and returns it or an unmarshalling error.
func GetPodNetworks ¶
func GetPodNetworks() (*apiextensionsv1.CustomResourceDefinition, error)
GetPodNetworks parses the raw []byte PodNetwork in to a CustomResourceDefinition and returns it or an unmarshalling error.
Types ¶
type Installer ¶
type Installer struct {
// contains filtered or unexported fields
}
Installer provides methods to manage the lifecycle of the custom resource definition.
func (*Installer) InstallMTPNC ¶
Installs the embedded MultitenantPodNetworkConfig CRD definition in the cluster.
func (*Installer) InstallNodeInfo ¶
Install installs the embedded NodeInfo CRD definition in the cluster.
func (*Installer) InstallOrUpdateMTPNC ¶
InstallOrUpdate installs the embedded MultitenantPodNetworkConfig CRD definition in the cluster or updates it if present.
func (*Installer) InstallOrUpdateNodeInfo ¶
func (i *Installer) InstallOrUpdateNodeInfo(ctx context.Context) (*v1.CustomResourceDefinition, error)
InstallOrUpdate installs the embedded NodeInfo CRD definition in the cluster or updates it if present.
func (*Installer) InstallOrUpdatePodNetwork ¶
func (i *Installer) InstallOrUpdatePodNetwork(ctx context.Context) (*v1.CustomResourceDefinition, error)
InstallOrUpdate installs the embedded PodNetwork CRD definition in the cluster or updates it if present.
func (*Installer) InstallOrUpdatePodNetworkInstance ¶
func (i *Installer) InstallOrUpdatePodNetworkInstance(ctx context.Context) (*v1.CustomResourceDefinition, error)
InstallOrUpdate installs the embedded PodNetworkInstance CRD definition in the cluster or updates it if present.
func (*Installer) InstallPodNetwork ¶
Install installs the embedded PodNetwork CRD definition in the cluster.
func (*Installer) InstallPodNetworkInstance ¶
func (i *Installer) InstallPodNetworkInstance(ctx context.Context) (*v1.CustomResourceDefinition, error)
Install installs the embedded PodNetworkInstance CRD definition in the cluster.
type NodeInfoClient ¶ added in v1.5.20
func (*NodeInfoClient) CreateOrUpdate ¶ added in v1.5.20
Directories
¶
Path | Synopsis |
---|---|
api
|
|
v1alpha1
Package v1alpha1 contains API Schema definitions for the acn v1alpha1 API group +kubebuilder:object:generate=true +groupName=multitenancy.acn.azure.com
|
Package v1alpha1 contains API Schema definitions for the acn v1alpha1 API group +kubebuilder:object:generate=true +groupName=multitenancy.acn.azure.com |
Package manifests exists to allow the rendered CRD manifests to be packaged in to dependent components.
|
Package manifests exists to allow the rendered CRD manifests to be packaged in to dependent components. |