Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=node.eks.aws +kubebuilder:validation:Optional
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( GroupVersion = schema.GroupVersion{Group: api.GroupName, Version: "v1alpha1"} SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ClusterDetails ¶
type ClusterDetails struct {
// Name is the name of your EKS cluster
Name string `json:"name,omitempty"`
// APIServerEndpoint is the URL of your EKS cluster's kube-apiserver.
APIServerEndpoint string `json:"apiServerEndpoint,omitempty"`
// CertificateAuthority is a base64-encoded string of your cluster's certificate authority chain.
CertificateAuthority []byte `json:"certificateAuthority,omitempty"`
// CIDR is your cluster's service CIDR block. This value is used to infer your cluster's DNS address.
CIDR string `json:"cidr,omitempty"`
// EnableOutpost determines how your node is configured when running on an AWS Outpost.
EnableOutpost *bool `json:"enableOutpost,omitempty"`
// ID is an identifier for your cluster; this is only used when your node is running on an AWS Outpost.
ID string `json:"id,omitempty"`
}
ClusterDetails contains the coordinates of your EKS cluster. These details can be found using the [DescribeCluster API](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeCluster.html).
func (*ClusterDetails) DeepCopy ¶
func (in *ClusterDetails) DeepCopy() *ClusterDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDetails.
func (*ClusterDetails) DeepCopyInto ¶
func (in *ClusterDetails) DeepCopyInto(out *ClusterDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerdOptions ¶
type ContainerdOptions struct {
// Config is an inline [`containerd` configuration TOML](https://github.com/containerd/containerd/blob/main/docs/man/containerd-config.toml.5.md)
// that will be merged with the defaults.
Config string `json:"config,omitempty"`
// BaseRuntimeSpec is the OCI runtime specification upon which all containers will be based.
// The provided spec will be merged with the default spec; so that a partial spec may be provided.
// For more information, see: https://github.com/opencontainers/runtime-spec
BaseRuntimeSpec map[string]runtime.RawExtension `json:"baseRuntimeSpec,omitempty"`
}
ContainerdOptions are additional parameters passed to `containerd`.
func (*ContainerdOptions) DeepCopy ¶
func (in *ContainerdOptions) DeepCopy() *ContainerdOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerdOptions.
func (*ContainerdOptions) DeepCopyInto ¶
func (in *ContainerdOptions) DeepCopyInto(out *ContainerdOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DisabledMount ¶
type DisabledMount string
DisabledMount specifies a directory that should not be mounted onto local storage
* `Containerd` refers to `/var/lib/containerd` * `PodLogs` refers to `/var/log/pods` * `SOCI` refers to `/var/lib/soci-snapshotter-grpc` +kubebuilder:validation:Enum={Containerd, PodLogs, SOCI}
const ( DisabledMountContainerd DisabledMount = "Containerd" DisabledMountPodLogs DisabledMount = "PodLogs" DisabledMountSOCI DisabledMount = "SOCI" )
type EnvironmentOptions ¶
EnvironmentOptions configures environment variables for the system and systemd services. The key `default` is reserved for configuring the environment across all services on the instance The key can be set to a systemd service name to configure environment only for a particular service.
func (EnvironmentOptions) DeepCopy ¶
func (in EnvironmentOptions) DeepCopy() EnvironmentOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentOptions.
func (EnvironmentOptions) DeepCopyInto ¶
func (in EnvironmentOptions) DeepCopyInto(out *EnvironmentOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Feature ¶
type Feature string
Feature specifies which feature gate should be toggled +kubebuilder:validation:Enum={InstanceIdNodeName,FastImagePull}
const ( // InstanceIdNodeName will use EC2 instance ID as node name InstanceIdNodeName Feature = "InstanceIdNodeName" // FastImagePull enables a parallel image pull for container images. This // will use more instance CPU, Memory, and EBS I/O during image pull, but // may result in faster image pull times. This flag will be ignored on // instances with memory and vCPU below a certain threshold. FastImagePull Feature = "FastImagePull" )
type InstanceOptions ¶
type InstanceOptions struct {
LocalStorage LocalStorageOptions `json:"localStorage,omitempty"`
Environment EnvironmentOptions `json:"environment,omitempty"`
Network NetworkOptions `json:"network,omitempty"`
}
InstanceOptions determines how the node's operating system and devices are configured.
func (*InstanceOptions) DeepCopy ¶
func (in *InstanceOptions) DeepCopy() *InstanceOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceOptions.
func (*InstanceOptions) DeepCopyInto ¶
func (in *InstanceOptions) DeepCopyInto(out *InstanceOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletOptions ¶
type KubeletOptions struct {
// Config is a [`KubeletConfiguration`](https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/)
// that will be merged with the defaults.
Config map[string]runtime.RawExtension `json:"config,omitempty"`
// Flags are [command-line `kubelet` arguments](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/).
// that will be appended to the defaults.
Flags []string `json:"flags,omitempty"`
// MaxPodsExpression is a CEL expression used to compute a max pods value for
// the kubelet configuration. Any MaxPods value set in Config takes precedence
// over the result of this expression. If the expression is successfully evaluated,
// kubeReserved will always be calculated on its result.
MaxPodsExpression string `json:"maxPodsExpression,omitempty"`
}
KubeletOptions are additional parameters passed to `kubelet`.
func (*KubeletOptions) DeepCopy ¶
func (in *KubeletOptions) DeepCopy() *KubeletOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletOptions.
func (*KubeletOptions) DeepCopyInto ¶
func (in *KubeletOptions) DeepCopyInto(out *KubeletOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalStorageOptions ¶
type LocalStorageOptions struct {
Strategy LocalStorageStrategy `json:"strategy,omitempty"`
// MountPath is the path where the filesystem will be mounted.
// Defaults to `/mnt/k8s-disks/`.
MountPath string `json:"mountPath,omitempty"`
// List of directories that will not be mounted to LocalStorage. By default,
// all mounts are enabled.
DisabledMounts []DisabledMount `json:"disabledMounts,omitempty"`
}
LocalStorageOptions control how [EC2 instance stores](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) are used when available.
func (*LocalStorageOptions) DeepCopy ¶
func (in *LocalStorageOptions) DeepCopy() *LocalStorageOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalStorageOptions.
func (*LocalStorageOptions) DeepCopyInto ¶
func (in *LocalStorageOptions) DeepCopyInto(out *LocalStorageOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalStorageStrategy ¶
type LocalStorageStrategy string
LocalStorageStrategy specifies how to handle an instance's local storage devices. +kubebuilder:validation:Enum={RAID0, RAID10, Mount}
const ( // LocalStorageRAID0 will create a single raid0 volume from any local disks LocalStorageRAID0 LocalStorageStrategy = "RAID0" // LocalStorageRAID10 will create a single raid10 volume from any local disks. Minimum of 4. LocalStorageRAID10 LocalStorageStrategy = "RAID10" // LocalStorageMount will mount each local disk individually LocalStorageMount LocalStorageStrategy = "Mount" )
type NetworkOptions ¶
type NetworkOptions struct {
// Nameservers are servers for the instance's network name resolution. The
// list may include both IPv4 and IPv6 addresses.
// see: https://www.freedesktop.org/software/systemd/man/latest/resolved.conf.html#DNS=
Nameservers []string `json:"nameservers,omitempty"`
// Domains are search entries for the instance's network name resolution.
// see: https://www.freedesktop.org/software/systemd/man/latest/resolved.conf.html#Domains=
Domains []string `json:"domains,omitempty"`
}
NetworkOptions are parameters used to configure networking on the host OS.
func (*NetworkOptions) DeepCopy ¶
func (in *NetworkOptions) DeepCopy() *NetworkOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkOptions.
func (*NetworkOptions) DeepCopyInto ¶
func (in *NetworkOptions) DeepCopyInto(out *NetworkOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeConfig ¶
type NodeConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NodeConfigSpec `json:"spec,omitempty"`
}
NodeConfig is the primary configuration object for `nodeadm`.
func (*NodeConfig) DeepCopy ¶
func (in *NodeConfig) DeepCopy() *NodeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfig.
func (*NodeConfig) DeepCopyInto ¶
func (in *NodeConfig) DeepCopyInto(out *NodeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeConfig) DeepCopyObject ¶
func (in *NodeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeConfigList ¶
type NodeConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NodeConfig `json:"items"`
}
func (*NodeConfigList) DeepCopy ¶
func (in *NodeConfigList) DeepCopy() *NodeConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfigList.
func (*NodeConfigList) DeepCopyInto ¶
func (in *NodeConfigList) DeepCopyInto(out *NodeConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeConfigList) DeepCopyObject ¶
func (in *NodeConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeConfigSpec ¶
type NodeConfigSpec struct {
Cluster ClusterDetails `json:"cluster,omitempty"`
Containerd ContainerdOptions `json:"containerd,omitempty"`
Instance InstanceOptions `json:"instance,omitempty"`
Kubelet KubeletOptions `json:"kubelet,omitempty"`
// FeatureGates holds key-value pairs to enable or disable application features.
FeatureGates map[Feature]bool `json:"featureGates,omitempty"`
}
func (*NodeConfigSpec) DeepCopy ¶
func (in *NodeConfigSpec) DeepCopy() *NodeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfigSpec.
func (*NodeConfigSpec) DeepCopyInto ¶
func (in *NodeConfigSpec) DeepCopyInto(out *NodeConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.