Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- func SetDefaults_ControlPlaneConfiguration(obj *ControlPlaneConfiguration)
- func SetDefaults_KubeProxyConfiguration(obj *kubeproxyconfigv1alpha1.KubeProxyConfiguration)
- func SetDefaults_KubeletConfiguration(obj *kubeletconfigv1beta1.KubeletConfiguration)
- func SetDefaults_NodeConfiguration(obj *NodeConfiguration)
- func SetDefaults_WorkerConfiguration(obj *WorkerConfiguration)
- func SetObjectDefaults_ControlPlaneConfiguration(in *ControlPlaneConfiguration)
- func SetObjectDefaults_WorkerConfiguration(in *WorkerConfiguration)
- type ControlPlaneConfiguration
- type CritBootstrapServerConfiguration
- type EtcdConfiguration
- type KubeAPIServerConfiguration
- type KubeControllerManagerConfiguration
- type KubeProxyConfiguration
- type KubeSchedulerConfiguration
- type NodeConfiguration
- type WorkerConfiguration
Constants ¶
const ( DefaultIPTablesMasqueradeBit = 14 DefaultIPTablesDropBit = 15 )
const GroupName = "crit.sh"
GroupName is the group name used in this package.
Variables ¶
var ( // DefaultEvictionHard includes default options for hard eviction. DefaultEvictionHard = map[string]string{ "memory.available": "100Mi", "nodefs.available": "10%", "nodefs.inodesFree": "5%", "imagefs.available": "15%", } // Refer to [Node Allocatable](https://git.k8s.io/community/contributors/design-proposals/node/node-allocatable.md) doc for more information. DefaultNodeAllocatableEnforcement = []string{"pods"} )
var ( // SchemeGroupVersion is group version used to register these objects. SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha2"} // SchemeBuilder is a type to collect functions that add data to an API // object through a scheme. SchemeBuilder runtime.SchemeBuilder // AddToScheme applies all the stored functions in the localSchemeBuilder // to the scheme. AddToScheme = localSchemeBuilder.AddToScheme )
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func SetDefaults_ControlPlaneConfiguration ¶
func SetDefaults_ControlPlaneConfiguration(obj *ControlPlaneConfiguration)
func SetDefaults_KubeProxyConfiguration ¶
func SetDefaults_KubeProxyConfiguration(obj *kubeproxyconfigv1alpha1.KubeProxyConfiguration)
func SetDefaults_KubeletConfiguration ¶
func SetDefaults_KubeletConfiguration(obj *kubeletconfigv1beta1.KubeletConfiguration)
func SetDefaults_NodeConfiguration ¶
func SetDefaults_NodeConfiguration(obj *NodeConfiguration)
func SetDefaults_WorkerConfiguration ¶
func SetDefaults_WorkerConfiguration(obj *WorkerConfiguration)
func SetObjectDefaults_ControlPlaneConfiguration ¶
func SetObjectDefaults_ControlPlaneConfiguration(in *ControlPlaneConfiguration)
func SetObjectDefaults_WorkerConfiguration ¶
func SetObjectDefaults_WorkerConfiguration(in *WorkerConfiguration)
Types ¶
type ControlPlaneConfiguration ¶
type ControlPlaneConfiguration struct {
metav1.TypeMeta `json:",inline"`
// ClusterName
// Default: "crit"
// +optional
ClusterName string `json:"clusterName"`
// ControlPlaneEndpoint is the IP address or DNS name that represents the
// control plane, along with optional port. The host portion is
// automatically added to the cluster CA SANs.
// +optional
ControlPlaneEndpoint computil.APIEndpoint `json:"controlPlaneEndpoint,omitempty"`
// PodSubnet is the CIDR range for allocating private IP addresses for
// pods.
// Default: "10.253.0.0/16"
PodSubnet string `json:"podSubnet,omitempty"`
// ServiceSubnet is the CIDR range for allocating private IP addresses for
// services.
// Default: "10.254.0.0/16"
// +optional
ServiceSubnet string `json:"serviceSubnet,omitempty"`
// CoreDNSVersion is the version given to the CoreDNS template.
// Default: "1.6.9"
// +optional
CoreDNSVersion string `json:"coreDNSVersion,omitempty"`
// FeatureGates is a map of feature names to bools that enable or disable
// alpha/experimental or optional features.
// +optional
FeatureGates map[string]bool `json:"featureGates,omitempty"`
// EtcdConfiguration provides configuration for the client etcd connection
// used by the apiserver.
// +optional
EtcdConfiguration EtcdConfiguration `json:"etcd"`
// KubeAPIServerConfiguration provides configuration for the kube-apiserver
// static pod.
// +optional
KubeAPIServerConfiguration KubeAPIServerConfiguration `json:"kubeAPIServer"`
// KubeControllerManagerConfiguration provides configuration for the
// kube-controller-manager static pod.
// +optional
KubeControllerManagerConfiguration KubeControllerManagerConfiguration `json:"kubeControllerManager"`
// KubeSchedulerConfiguration provides configuration for the kube-scheduler
// static pod.
// +optional
KubeSchedulerConfiguration KubeSchedulerConfiguration `json:"kubeScheduler"`
// KubeProxyConfiguration provides configuration for the kube-proxy
// daemonset.
// +optional
KubeProxyConfiguration KubeProxyConfiguration `json:"kubeProxy"`
// CritBootstrapServerConfiguration provides configuration for the
// crit-bootstrap-server static pod.
// +optional
CritBootstrapServerConfiguration CritBootstrapServerConfiguration `json:"critBootstrapServer"`
// NodeConfiguration provides configuration for the particular node being
// bootstrapped. This includes host-specific information, such as hostname
// or IP address, as well as, kubelet configuration.
NodeConfiguration NodeConfiguration `json:"node"`
}
func (*ControlPlaneConfiguration) DeepCopy ¶
func (in *ControlPlaneConfiguration) DeepCopy() *ControlPlaneConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneConfiguration.
func (*ControlPlaneConfiguration) DeepCopyInto ¶
func (in *ControlPlaneConfiguration) DeepCopyInto(out *ControlPlaneConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControlPlaneConfiguration) DeepCopyObject ¶
func (in *ControlPlaneConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CritBootstrapServerConfiguration ¶
type CritBootstrapServerConfiguration struct {
Version string `json:"version,omitempty"`
BindPort int `json:"bindPort,omitempty"`
CloudProvider string `json:"cloudProvider,omitempty"`
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
}
func (*CritBootstrapServerConfiguration) DeepCopy ¶
func (in *CritBootstrapServerConfiguration) DeepCopy() *CritBootstrapServerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CritBootstrapServerConfiguration.
func (*CritBootstrapServerConfiguration) DeepCopyInto ¶
func (in *CritBootstrapServerConfiguration) DeepCopyInto(out *CritBootstrapServerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdConfiguration ¶
type EtcdConfiguration struct {
Endpoints []string `json:"endpoints,omitempty"`
CAFile string `json:"caFile,omitempty"`
CertFile string `json:"certFile,omitempty"`
KeyFile string `json:"keyFile,omitempty"`
// CAKey is the etcd CA private key. It is only used to encrypt e2db
// tables, so any file containing data to be used as a secret can be
// provided here to enable e2db table encryption for shared cluster files.
CAKey string `json:"caKey,omitempty"`
}
func (*EtcdConfiguration) ClientAddr ¶
func (ec *EtcdConfiguration) ClientAddr() string
func (*EtcdConfiguration) DeepCopy ¶
func (in *EtcdConfiguration) DeepCopy() *EtcdConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdConfiguration.
func (*EtcdConfiguration) DeepCopyInto ¶
func (in *EtcdConfiguration) DeepCopyInto(out *EtcdConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeAPIServerConfiguration ¶
type KubeAPIServerConfiguration struct {
BindPort int `json:"bindPort,omitempty"`
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
ExtraVolumes []computil.HostPathMount `json:"extraVolumes,omitempty"`
FeatureGates map[string]bool `json:"featureGates,omitempty"`
ExtraSANs []string `json:"extraSans,omitempty"`
HealthcheckProxyVersion string `json:"healthcheckProxyVersion,omitempty"`
HealthcheckProxyBindPort int `json:"healthcheckProxyBindPort,omitempty"`
ExtraLabels map[string]string `json:"extraLabels,omitempty"`
}
func (*KubeAPIServerConfiguration) DeepCopy ¶
func (in *KubeAPIServerConfiguration) DeepCopy() *KubeAPIServerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeAPIServerConfiguration.
func (*KubeAPIServerConfiguration) DeepCopyInto ¶
func (in *KubeAPIServerConfiguration) DeepCopyInto(out *KubeAPIServerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeControllerManagerConfiguration ¶
type KubeControllerManagerConfiguration struct {
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
ExtraVolumes []computil.HostPathMount `json:"extraVolumes,omitempty"`
FeatureGates map[string]bool `json:"featureGates,omitempty"`
ExtraLabels map[string]string `json:"extraLabels,omitempty"`
}
func (*KubeControllerManagerConfiguration) DeepCopy ¶
func (in *KubeControllerManagerConfiguration) DeepCopy() *KubeControllerManagerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeControllerManagerConfiguration.
func (*KubeControllerManagerConfiguration) DeepCopyInto ¶
func (in *KubeControllerManagerConfiguration) DeepCopyInto(out *KubeControllerManagerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeProxyConfiguration ¶
type KubeProxyConfiguration struct {
// NOTE(chrism): KubeProxyConfiguration defines fields using types from
// component-base. These contain float values and the package
// controller-tools, used by controller-gen, did not provide a way to
// encode float types until commit b45abdb. It requires using the crd flag
// `allowDangerousTypes` for controller-gen to work with embedding
// KubeProxyConfiguration. It is possible that this should be re-evaluated
// in the future.
//
// https://github.com/kubernetes-sigs/controller-tools/issues/245
Config *kubeproxyconfigv1alpha1.KubeProxyConfiguration `json:"config,omitempty"`
Disabled bool `json:"disabled"`
Affinity *corev1.Affinity `json:"affinity,omitempty"`
ExtraLabels map[string]string `json:"extraLabels,omitempty"`
}
func (*KubeProxyConfiguration) DeepCopy ¶
func (in *KubeProxyConfiguration) DeepCopy() *KubeProxyConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeProxyConfiguration.
func (*KubeProxyConfiguration) DeepCopyInto ¶
func (in *KubeProxyConfiguration) DeepCopyInto(out *KubeProxyConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeSchedulerConfiguration ¶
type KubeSchedulerConfiguration struct {
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
ExtraVolumes []computil.HostPathMount `json:"extraVolumes,omitempty"`
FeatureGates map[string]bool `json:"featureGates,omitempty"`
ExtraLabels map[string]string `json:"extraLabels,omitempty"`
}
func (*KubeSchedulerConfiguration) DeepCopy ¶
func (in *KubeSchedulerConfiguration) DeepCopy() *KubeSchedulerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSchedulerConfiguration.
func (*KubeSchedulerConfiguration) DeepCopyInto ¶
func (in *KubeSchedulerConfiguration) DeepCopyInto(out *KubeSchedulerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeConfiguration ¶
type NodeConfiguration struct {
// KubernetesVersion is the version of Kubernetes for this node.
KubernetesVersion string `json:"kubernetesVersion,omitempty"`
// Hostname is the hostname for this node. This defaults to the hostname
// provided by the host. It is unlikely that this will need to be changed.
// +optional
Hostname string `json:"hostname,omitempty"`
// KubeDir is the base directory for important Kubernetes configuration
// files (manifests, configuration files, pki, etc). It is unlikely this
// will ever need to be changed.
// Default: "/etc/kubernetes
// +optional
KubeDir string `json:"kubeDir,omitempty"`
// HostIPv4 is the IPv4 address of the host for the node being
// bootstrapped. If this is not provided the first non-loopback network
// adapter address is used.
// +optional
HostIPv4 string `json:"hostIPv4,omitempty"`
// CloudProvider is used to configured in-tree cloud providers.
// +optional
CloudProvider string `json:"cloudProvider,omitempty"`
// ContainerRuntime is the container runtime being used by the Kubelet.
// Default: "containerd"
// +optional
ContainerRuntime constants.ContainerRuntime `json:"containerRuntime,omitempty"`
// Taints is any taints to be applied to the node after initial
// bootstrapping.
// +optional
Taints []corev1.Taint `json:"taints,omitempty"`
// KubeletConfiguration is the component config for the kubelet. There are
// quite a few defaults that are being set that can be found in defaults.go
// of this package.
// +optional
KubeletConfiguration *kubeletconfigv1beta1.KubeletConfiguration `json:"kubelet,omitempty"`
// KubeletExtraArgs is a map of arguments to provide to the kubelet binary.
// This is useful for settings that are not available in the component
// config. It should not be used to set deprecated flags that have been
// moved into the component config.
// +optional
KubeletExtraArgs map[string]string `json:"kubeletExtraArgs,omitempty"`
}
func (*NodeConfiguration) DeepCopy ¶
func (in *NodeConfiguration) DeepCopy() *NodeConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfiguration.
func (*NodeConfiguration) DeepCopyInto ¶
func (in *NodeConfiguration) DeepCopyInto(out *NodeConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkerConfiguration ¶
type WorkerConfiguration struct {
metav1.TypeMeta `json:",inline"`
// ClusterName
// Default: "crit"
// +optional
ClusterName string `json:"clusterName"`
// ControlPlaneEndpoint is the IP address or DNS name that represents the
// control plane, along with optional port. The host portion is
// automatically added to the cluster CA SANs.
// +optional
ControlPlaneEndpoint computil.APIEndpoint `json:"controlPlaneEndpoint,omitempty"`
// FeatureGates is a map of feature names to bools that enable or disable
// alpha/experimental or optional features.
// +optional
FeatureGates map[string]bool `json:"featureGates"`
// BootstrapServerURL is the full URL to the crit-bootstrap-server static
// pod. This should only be specified for a cluster using the
// bootstrap-server, otherwise a bootstrap token should be provided.
// +optional
BootstrapServerURL string `json:"bootstrapServerURL,omitempty"`
// BootstrapToken is the Kubernetes bootstrap auth token used for
// bootstrapping a worker to a control plane.
// The token format is described here:
// https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/#token-format
// +optional
BootstrapToken string `json:"bootstrapToken,omitempty"`
// CACert is the full file path of the cluster CA certificate. This must be
// provided during bootstrapping because it is used to verify that the
// control plane being joined by the worker.
CACert string `json:"caCert,omitempty"`
// NodeConfiguration provides configuration for the particular node being
// bootstrapped. This includes host-specific information, such as hostname
// or IP address, as well as, kubelet configuration.
NodeConfiguration NodeConfiguration `json:"node"`
}
func (*WorkerConfiguration) DeepCopy ¶
func (in *WorkerConfiguration) DeepCopy() *WorkerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfiguration.
func (*WorkerConfiguration) DeepCopyInto ¶
func (in *WorkerConfiguration) DeepCopyInto(out *WorkerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkerConfiguration) DeepCopyObject ¶
func (in *WorkerConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.