Documentation
¶
Overview ¶
Package config implements the current apiVersion of the `kind` Config along with some common abstractions
+k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/internal/apis/config +k8s:defaulter-gen=TypeMeta
Index ¶
Constants ¶
const GroupName = "kind.sigs.k8s.io"
GroupName is the group name used in this package.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects. SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // 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_Cluster ¶
func SetDefaults_Cluster(obj *Cluster)
SetDefaults_Cluster sets uninitialized fields to their default value.
func SetDefaults_Node ¶
func SetDefaults_Node(obj *Node)
SetDefaults_Node sets uninitialized fields to their default value.
func SetObjectDefaults_Cluster ¶
func SetObjectDefaults_Cluster(in *Cluster)
Types ¶
type Cluster ¶
type Cluster struct { // TypeMeta representing the type of the object and its API schema version. metav1.TypeMeta // Nodes contains the list of nodes defined in the `kind` Cluster // If unset this will default to a single control-plane node // Note that if more than one control plane is specified, an external // control plane load balancer will be provisioned implicitly Nodes []Node // Networking contains cluster wide network settings Networking Networking // KubeadmConfigPatches are applied to the generated kubeadm config as // strategic merge patches to `kustomize build` internally // https://github.com/kubernetes/community/blob/master/contributors/devel/strategic-merge-patch.md // This should be an inline yaml blob-string KubeadmConfigPatches []string // KubeadmConfigPatchesJSON6902 are applied to the generated kubeadm config // as patchesJson6902 to `kustomize build` KubeadmConfigPatchesJSON6902 []PatchJSON6902 }
Cluster contains kind cluster configuration
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterIPFamily ¶
type ClusterIPFamily string
ClusterIPFamily defines cluster network IP family
const ( // IPv4Family sets ClusterIPFamily to ipv4 IPv4Family ClusterIPFamily = "ipv4" // IPv6Family sets ClusterIPFamily to ipv6 IPv6Family ClusterIPFamily = "ipv6" )
type Networking ¶
type Networking struct { // IPFamily is the network cluster model, currently it can be ipv4 or ipv6 IPFamily ClusterIPFamily // APIServerPort is the listen port on the host for the Kubernetes API Server // Defaults to a random port on the host APIServerPort int32 // APIServerAddress is the listen address on the host for the Kubernetes // API Server. This should be an IP address. // // Defaults to 127.0.0.1 APIServerAddress string // PodSubnet is the CIDR used for pod IPs // kind will select a default if unspecified PodSubnet string // ServiceSubnet is the CIDR used for services VIPs // kind will select a default if unspecified ServiceSubnet string // If DisableDefaultCNI is true, kind will not install the default CNI setup. // Instead the user should install their own CNI after creating the cluster. DisableDefaultCNI bool }
Networking contains cluster wide network settings
func (*Networking) DeepCopy ¶
func (in *Networking) DeepCopy() *Networking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Networking.
func (*Networking) DeepCopyInto ¶
func (in *Networking) DeepCopyInto(out *Networking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Node ¶
type Node struct { // Role defines the role of the node in the in the Kubernetes cluster // created by kind // // Defaults to "control-plane" Role NodeRole // Image is the node image to use when creating this node // If unset a default image will be used, see defaults.Image Image string // ExtraMounts describes additional mount points for the node container // These may be used to bind a hostPath ExtraMounts []cri.Mount // ExtraPortMappings describes additional port mappings for the node container // binded to a host Port ExtraPortMappings []cri.PortMapping }
Node contains settings for a node in the `kind` Cluster. A node in kind config represent a container that will be provisioned with all the components required for the assigned role in the Kubernetes cluster
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeRole ¶
type NodeRole string
NodeRole defines possible role for nodes in a Kubernetes cluster managed by `kind`
const ( // ControlPlaneRole identifies a node that hosts a Kubernetes control-plane. // NOTE: in single node clusters, control-plane nodes act also as a worker // nodes, in which case the taint will be removed. see: // https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#control-plane-node-isolation ControlPlaneRole NodeRole = "control-plane" // WorkerRole identifies a node that hosts a Kubernetes worker WorkerRole NodeRole = "worker" )
type PatchJSON6902 ¶
type PatchJSON6902 struct { // these fields specify the patch target resource Group string Version string Kind string // Name and Namespace are optional // NOTE: technically name is required now, but we default it elsewhere // Third party users of this type / library would need to set it. Name string Namespace string // Patch should contain the contents of the json patch as a string Patch string }
PatchJSON6902 represents an inline kustomize json 6902 patch https://tools.ietf.org/html/rfc6902
func (*PatchJSON6902) DeepCopy ¶
func (in *PatchJSON6902) DeepCopy() *PatchJSON6902
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchJSON6902.
func (*PatchJSON6902) DeepCopyInto ¶
func (in *PatchJSON6902) DeepCopyInto(out *PatchJSON6902)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package encoding implements utilities for decoding from yaml the `kind` Config
|
Package encoding implements utilities for decoding from yaml the `kind` Config |
Package v1alpha3 contains conversions for the v1alpha3 config types +k8s:conversion-gen=sigs.k8s.io/kind/pkg/internal/apis/config +k8s:conversion-gen-external-types=sigs.k8s.io/kind/pkg/apis/config/v1alpha3
|
Package v1alpha3 contains conversions for the v1alpha3 config types +k8s:conversion-gen=sigs.k8s.io/kind/pkg/internal/apis/config +k8s:conversion-gen-external-types=sigs.k8s.io/kind/pkg/apis/config/v1alpha3 |