Documentation ¶
Overview ¶
Package v1alpha1 is the package that contains the libraries that drive the kubeadm binary. +k8s:defaulter-gen=TypeMeta +groupName=kubeadm.k8s.io +k8s:deepcopy-gen=package +k8s:conversion-gen=k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm
Index ¶
- Constants
- Variables
- func Convert_kubeadm_API_To_v1alpha1_API(in *kubeadm.API, out *API, s conversion.Scope) error
- func Convert_kubeadm_AuditPolicyConfiguration_To_v1alpha1_AuditPolicyConfiguration(in *kubeadm.AuditPolicyConfiguration, out *AuditPolicyConfiguration, ...) error
- func Convert_kubeadm_Etcd_To_v1alpha1_Etcd(in *kubeadm.Etcd, out *Etcd, s conversion.Scope) error
- func Convert_kubeadm_HostPathMount_To_v1alpha1_HostPathMount(in *kubeadm.HostPathMount, out *HostPathMount, s conversion.Scope) error
- func Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy(in *kubeadm.KubeProxy, out *KubeProxy, s conversion.Scope) error
- func Convert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration(in *kubeadm.KubeletConfiguration, out *KubeletConfiguration, ...) error
- func Convert_kubeadm_MasterConfiguration_To_v1alpha1_MasterConfiguration(in *kubeadm.MasterConfiguration, out *MasterConfiguration, s conversion.Scope) error
- func Convert_kubeadm_Networking_To_v1alpha1_Networking(in *kubeadm.Networking, out *Networking, s conversion.Scope) error
- func Convert_kubeadm_NodeConfiguration_To_v1alpha1_NodeConfiguration(in *kubeadm.NodeConfiguration, out *NodeConfiguration, s conversion.Scope) error
- func Convert_kubeadm_TokenDiscovery_To_v1alpha1_TokenDiscovery(in *kubeadm.TokenDiscovery, out *TokenDiscovery, s conversion.Scope) error
- func Convert_v1alpha1_API_To_kubeadm_API(in *API, out *kubeadm.API, s conversion.Scope) error
- func Convert_v1alpha1_AuditPolicyConfiguration_To_kubeadm_AuditPolicyConfiguration(in *AuditPolicyConfiguration, out *kubeadm.AuditPolicyConfiguration, ...) error
- func Convert_v1alpha1_Etcd_To_kubeadm_Etcd(in *Etcd, out *kubeadm.Etcd, s conversion.Scope) error
- func Convert_v1alpha1_HostPathMount_To_kubeadm_HostPathMount(in *HostPathMount, out *kubeadm.HostPathMount, s conversion.Scope) error
- func Convert_v1alpha1_KubeProxy_To_kubeadm_KubeProxy(in *KubeProxy, out *kubeadm.KubeProxy, s conversion.Scope) error
- func Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration(in *KubeletConfiguration, out *kubeadm.KubeletConfiguration, ...) error
- func Convert_v1alpha1_MasterConfiguration_To_kubeadm_MasterConfiguration(in *MasterConfiguration, out *kubeadm.MasterConfiguration, s conversion.Scope) error
- func Convert_v1alpha1_Networking_To_kubeadm_Networking(in *Networking, out *kubeadm.Networking, s conversion.Scope) error
- func Convert_v1alpha1_NodeConfiguration_To_kubeadm_NodeConfiguration(in *NodeConfiguration, out *kubeadm.NodeConfiguration, s conversion.Scope) error
- func Convert_v1alpha1_TokenDiscovery_To_kubeadm_TokenDiscovery(in *TokenDiscovery, out *kubeadm.TokenDiscovery, s conversion.Scope) error
- func Kind(kind string) schema.GroupKind
- func Migrate(in map[string]interface{}, obj runtime.Object, codecs serializer.CodecFactory) error
- func RegisterConversions(scheme *runtime.Scheme) error
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- func SetDefaultsEtcdSelfHosted(obj *MasterConfiguration)
- func SetDefaults_AuditPolicyConfiguration(obj *MasterConfiguration)
- func SetDefaults_KubeletConfiguration(obj *MasterConfiguration)
- func SetDefaults_MasterConfiguration(obj *MasterConfiguration)
- func SetDefaults_NodeConfiguration(obj *NodeConfiguration)
- func SetDefaults_ProxyConfiguration(obj *MasterConfiguration)
- func SetObjectDefaults_MasterConfiguration(in *MasterConfiguration)
- func SetObjectDefaults_NodeConfiguration(in *NodeConfiguration)
- func UpgradeAuthorizationModes(in *MasterConfiguration, out *kubeadm.MasterConfiguration)
- func UpgradeCloudProvider(in *MasterConfiguration, out *kubeadm.MasterConfiguration)
- func UpgradeNodeRegistrationOptionsForMaster(in *MasterConfiguration, out *kubeadm.MasterConfiguration)
- type API
- type AuditPolicyConfiguration
- type Etcd
- type HostPathMount
- type KubeProxy
- type KubeletConfiguration
- type MasterConfiguration
- type Networking
- type NodeConfiguration
- type SelfHostedEtcd
- type TokenDiscovery
Constants ¶
const ( // DefaultServiceDNSDomain defines default cluster-internal domain name for Services and Pods DefaultServiceDNSDomain = "cluster.local" // DefaultServicesSubnet defines default service subnet range DefaultServicesSubnet = "10.96.0.0/12" // DefaultClusterDNSIP defines default DNS IP DefaultClusterDNSIP = "10.96.0.10" // DefaultKubernetesVersion defines default kubernetes version DefaultKubernetesVersion = "stable-1.10" // DefaultAPIBindPort defines default API port DefaultAPIBindPort = 6443 // DefaultAuthorizationModes defines default authorization modes DefaultAuthorizationModes = "Node,RBAC" // DefaultCertificatesDir defines default certificate directory DefaultCertificatesDir = "/etc/kubernetes/pki" // DefaultImageRepository defines default image registry DefaultImageRepository = "k8s.gcr.io" // DefaultManifestsDir defines default manifests directory DefaultManifestsDir = "/etc/kubernetes/manifests" // DefaultCRISocket defines the default cri socket DefaultCRISocket = "/var/run/dockershim.sock" // DefaultClusterName defines the default cluster name DefaultClusterName = "kubernetes" // DefaultEtcdDataDir defines default location of etcd where static pods will save data to DefaultEtcdDataDir = "/var/lib/etcd" // DefaultEtcdClusterSize defines the default cluster size when using the etcd-operator DefaultEtcdClusterSize = 3 // DefaultEtcdOperatorVersion defines the default version of the etcd-operator to use DefaultEtcdOperatorVersion = "v0.6.0" // DefaultEtcdCertDir represents the directory where PKI assets are stored for self-hosted etcd DefaultEtcdCertDir = "/etc/kubernetes/pki/etcd" // DefaultEtcdClusterServiceName is the default name of the service backing the etcd cluster DefaultEtcdClusterServiceName = "etcd-cluster" // DefaultProxyBindAddressv4 is the default bind address when the advertise address is v4 DefaultProxyBindAddressv4 = "0.0.0.0" // DefaultProxyBindAddressv6 is the default bind address when the advertise address is v6 DefaultProxyBindAddressv6 = "::" // KubeproxyKubeConfigFileName defines the file name for the kube-proxy's KubeConfig file KubeproxyKubeConfigFileName = "/var/lib/kube-proxy/kubeconfig.conf" // DefaultDiscoveryTimeout specifies the default discovery timeout for kubeadm (used unless one is specified in the NodeConfiguration) DefaultDiscoveryTimeout = 5 * time.Minute )
const DefaultCACertPath = "/etc/kubernetes/pki/ca.crt"
DefaultCACertPath defines default location of CA certificate on Linux
const GroupName = "kubeadm.k8s.io"
GroupName is the group name use in this package
Variables ¶
var ( // SchemeBuilder points to a list of functions added to Scheme. SchemeBuilder runtime.SchemeBuilder // AddToScheme applies all the stored functions to the scheme. AddToScheme = localSchemeBuilder.AddToScheme )
var ( // DefaultAuditPolicyLogMaxAge is defined as a var so its address can be taken // It is the number of days to store audit logs DefaultAuditPolicyLogMaxAge = int32(2) )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Convert_kubeadm_API_To_v1alpha1_API ¶ added in v1.8.0
Convert_kubeadm_API_To_v1alpha1_API is an autogenerated conversion function.
func Convert_kubeadm_AuditPolicyConfiguration_To_v1alpha1_AuditPolicyConfiguration ¶ added in v1.10.0
func Convert_kubeadm_AuditPolicyConfiguration_To_v1alpha1_AuditPolicyConfiguration(in *kubeadm.AuditPolicyConfiguration, out *AuditPolicyConfiguration, s conversion.Scope) error
Convert_kubeadm_AuditPolicyConfiguration_To_v1alpha1_AuditPolicyConfiguration is an autogenerated conversion function.
func Convert_kubeadm_Etcd_To_v1alpha1_Etcd ¶ added in v1.8.0
no-op, as we don't support converting from newer API to old alpha API
func Convert_kubeadm_HostPathMount_To_v1alpha1_HostPathMount ¶ added in v1.9.0
func Convert_kubeadm_HostPathMount_To_v1alpha1_HostPathMount(in *kubeadm.HostPathMount, out *HostPathMount, s conversion.Scope) error
Convert_kubeadm_HostPathMount_To_v1alpha1_HostPathMount is an autogenerated conversion function.
func Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy ¶ added in v1.9.0
func Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy(in *kubeadm.KubeProxy, out *KubeProxy, s conversion.Scope) error
Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy is an autogenerated conversion function.
func Convert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration ¶ added in v1.9.0
func Convert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration(in *kubeadm.KubeletConfiguration, out *KubeletConfiguration, s conversion.Scope) error
Convert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration is an autogenerated conversion function.
func Convert_kubeadm_MasterConfiguration_To_v1alpha1_MasterConfiguration ¶ added in v1.8.0
func Convert_kubeadm_MasterConfiguration_To_v1alpha1_MasterConfiguration(in *kubeadm.MasterConfiguration, out *MasterConfiguration, s conversion.Scope) error
func Convert_kubeadm_Networking_To_v1alpha1_Networking ¶ added in v1.8.0
func Convert_kubeadm_Networking_To_v1alpha1_Networking(in *kubeadm.Networking, out *Networking, s conversion.Scope) error
Convert_kubeadm_Networking_To_v1alpha1_Networking is an autogenerated conversion function.
func Convert_kubeadm_NodeConfiguration_To_v1alpha1_NodeConfiguration ¶ added in v1.8.0
func Convert_kubeadm_NodeConfiguration_To_v1alpha1_NodeConfiguration(in *kubeadm.NodeConfiguration, out *NodeConfiguration, s conversion.Scope) error
func Convert_kubeadm_TokenDiscovery_To_v1alpha1_TokenDiscovery ¶ added in v1.8.0
func Convert_kubeadm_TokenDiscovery_To_v1alpha1_TokenDiscovery(in *kubeadm.TokenDiscovery, out *TokenDiscovery, s conversion.Scope) error
Convert_kubeadm_TokenDiscovery_To_v1alpha1_TokenDiscovery is an autogenerated conversion function.
func Convert_v1alpha1_API_To_kubeadm_API ¶ added in v1.8.0
Convert_v1alpha1_API_To_kubeadm_API is an autogenerated conversion function.
func Convert_v1alpha1_AuditPolicyConfiguration_To_kubeadm_AuditPolicyConfiguration ¶ added in v1.10.0
func Convert_v1alpha1_AuditPolicyConfiguration_To_kubeadm_AuditPolicyConfiguration(in *AuditPolicyConfiguration, out *kubeadm.AuditPolicyConfiguration, s conversion.Scope) error
Convert_v1alpha1_AuditPolicyConfiguration_To_kubeadm_AuditPolicyConfiguration is an autogenerated conversion function.
func Convert_v1alpha1_Etcd_To_kubeadm_Etcd ¶ added in v1.8.0
func Convert_v1alpha1_HostPathMount_To_kubeadm_HostPathMount ¶ added in v1.9.0
func Convert_v1alpha1_HostPathMount_To_kubeadm_HostPathMount(in *HostPathMount, out *kubeadm.HostPathMount, s conversion.Scope) error
Convert_v1alpha1_HostPathMount_To_kubeadm_HostPathMount is an autogenerated conversion function.
func Convert_v1alpha1_KubeProxy_To_kubeadm_KubeProxy ¶ added in v1.9.0
func Convert_v1alpha1_KubeProxy_To_kubeadm_KubeProxy(in *KubeProxy, out *kubeadm.KubeProxy, s conversion.Scope) error
Convert_v1alpha1_KubeProxy_To_kubeadm_KubeProxy is an autogenerated conversion function.
func Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration ¶ added in v1.9.0
func Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration(in *KubeletConfiguration, out *kubeadm.KubeletConfiguration, s conversion.Scope) error
Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration is an autogenerated conversion function.
func Convert_v1alpha1_MasterConfiguration_To_kubeadm_MasterConfiguration ¶ added in v1.8.0
func Convert_v1alpha1_MasterConfiguration_To_kubeadm_MasterConfiguration(in *MasterConfiguration, out *kubeadm.MasterConfiguration, s conversion.Scope) error
func Convert_v1alpha1_Networking_To_kubeadm_Networking ¶ added in v1.8.0
func Convert_v1alpha1_Networking_To_kubeadm_Networking(in *Networking, out *kubeadm.Networking, s conversion.Scope) error
Convert_v1alpha1_Networking_To_kubeadm_Networking is an autogenerated conversion function.
func Convert_v1alpha1_NodeConfiguration_To_kubeadm_NodeConfiguration ¶ added in v1.8.0
func Convert_v1alpha1_NodeConfiguration_To_kubeadm_NodeConfiguration(in *NodeConfiguration, out *kubeadm.NodeConfiguration, s conversion.Scope) error
func Convert_v1alpha1_TokenDiscovery_To_kubeadm_TokenDiscovery ¶ added in v1.8.0
func Convert_v1alpha1_TokenDiscovery_To_kubeadm_TokenDiscovery(in *TokenDiscovery, out *kubeadm.TokenDiscovery, s conversion.Scope) error
Convert_v1alpha1_TokenDiscovery_To_kubeadm_TokenDiscovery is an autogenerated conversion function.
func Migrate ¶ added in v1.10.2
func Migrate(in map[string]interface{}, obj runtime.Object, codecs serializer.CodecFactory) error
Migrate takes a map representing a config file and an object to decode into. The map is transformed into a format suitable for encoding into the supplied object, then serialised and decoded.
func RegisterConversions ¶ added in v1.8.0
RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.
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 Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func SetDefaultsEtcdSelfHosted ¶ added in v1.9.0
func SetDefaultsEtcdSelfHosted(obj *MasterConfiguration)
SetDefaultsEtcdSelfHosted sets defaults for self-hosted etcd if used
func SetDefaults_AuditPolicyConfiguration ¶ added in v1.10.0
func SetDefaults_AuditPolicyConfiguration(obj *MasterConfiguration)
SetDefaults_AuditPolicyConfiguration sets default values for the AuditPolicyConfiguration
func SetDefaults_KubeletConfiguration ¶ added in v1.9.0
func SetDefaults_KubeletConfiguration(obj *MasterConfiguration)
SetDefaults_KubeletConfiguration assigns default values to kubelet
func SetDefaults_MasterConfiguration ¶
func SetDefaults_MasterConfiguration(obj *MasterConfiguration)
SetDefaults_MasterConfiguration assigns default values to Master node
func SetDefaults_NodeConfiguration ¶
func SetDefaults_NodeConfiguration(obj *NodeConfiguration)
SetDefaults_NodeConfiguration assigns default values to a regular node
func SetDefaults_ProxyConfiguration ¶ added in v1.9.0
func SetDefaults_ProxyConfiguration(obj *MasterConfiguration)
SetDefaults_ProxyConfiguration assigns default values for the Proxy
func SetObjectDefaults_MasterConfiguration ¶
func SetObjectDefaults_MasterConfiguration(in *MasterConfiguration)
func SetObjectDefaults_NodeConfiguration ¶
func SetObjectDefaults_NodeConfiguration(in *NodeConfiguration)
func UpgradeAuthorizationModes ¶ added in v1.11.0
func UpgradeAuthorizationModes(in *MasterConfiguration, out *kubeadm.MasterConfiguration)
func UpgradeCloudProvider ¶ added in v1.11.0
func UpgradeCloudProvider(in *MasterConfiguration, out *kubeadm.MasterConfiguration)
UpgradeCloudProvider handles the removal of .CloudProvider as smoothly as possible
func UpgradeNodeRegistrationOptionsForMaster ¶ added in v1.11.0
func UpgradeNodeRegistrationOptionsForMaster(in *MasterConfiguration, out *kubeadm.MasterConfiguration)
Types ¶
type API ¶
type API struct { // AdvertiseAddress sets the IP address for the API server to advertise. AdvertiseAddress string `json:"advertiseAddress"` // ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it // can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. // In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort // are used; in case the ControlPlaneEndpoint is specified but without a TCP port, // the BindPort is used. // Possible usages are: // e.g. In an cluster with more than one control plane instances, this field should be // assigned the address of the external load balancer in front of the // control plane instances. // e.g. in environments with enforced node recycling, the ControlPlaneEndpoint // could be used for assigning a stable DNS to the control plane. ControlPlaneEndpoint string `json:"controlPlaneEndpoint"` // BindPort sets the secure port for the API Server to bind to. // Defaults to 6443. BindPort int32 `json:"bindPort"` }
API struct contains elements of API server address.
func (*API) DeepCopy ¶ added in v1.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new API.
func (*API) DeepCopyInto ¶ added in v1.8.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuditPolicyConfiguration ¶ added in v1.10.0
type AuditPolicyConfiguration struct { // Path is the local path to an audit policy. Path string `json:"path"` // LogDir is the local path to the directory where logs should be stored. LogDir string `json:"logDir"` // LogMaxAge is the number of days logs will be stored for. 0 indicates forever. LogMaxAge *int32 `json:"logMaxAge,omitempty"` }
AuditPolicyConfiguration holds the options for configuring the api server audit policy.
func (*AuditPolicyConfiguration) DeepCopy ¶ added in v1.10.0
func (in *AuditPolicyConfiguration) DeepCopy() *AuditPolicyConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditPolicyConfiguration.
func (*AuditPolicyConfiguration) DeepCopyInto ¶ added in v1.10.0
func (in *AuditPolicyConfiguration) DeepCopyInto(out *AuditPolicyConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Etcd ¶
type Etcd struct { // Endpoints of etcd members. Useful for using external etcd. // If not provided, kubeadm will run etcd in a static pod. Endpoints []string `json:"endpoints"` // CAFile is an SSL Certificate Authority file used to secure etcd communication. CAFile string `json:"caFile"` // CertFile is an SSL certification file used to secure etcd communication. CertFile string `json:"certFile"` // KeyFile is an SSL key file used to secure etcd communication. KeyFile string `json:"keyFile"` // DataDir is the directory etcd will place its data. // Defaults to "/var/lib/etcd". DataDir string `json:"dataDir"` // ExtraArgs are extra arguments provided to the etcd binary // when run inside a static pod. ExtraArgs map[string]string `json:"extraArgs,omitempty"` // Image specifies which container image to use for running etcd. // If empty, automatically populated by kubeadm using the image // repository and default etcd version. Image string `json:"image"` // SelfHosted holds configuration for self-hosting etcd. SelfHosted *SelfHostedEtcd `json:"selfHosted,omitempty"` // ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. ServerCertSANs []string `json:"serverCertSANs,omitempty"` // PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. PeerCertSANs []string `json:"peerCertSANs,omitempty"` }
Etcd contains elements describing Etcd configuration.
func (*Etcd) DeepCopy ¶ added in v1.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Etcd.
func (*Etcd) DeepCopyInto ¶ added in v1.8.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostPathMount ¶ added in v1.9.0
type HostPathMount struct { // Name of the volume inside the pod template. Name string `json:"name"` // HostPath is the path in the host that will be mounted inside // the pod. HostPath string `json:"hostPath"` // MountPath is the path inside the pod where hostPath will be mounted. MountPath string `json:"mountPath"` // Writable controls write access to the volume Writable bool `json:"writable,omitempty"` // PathType is the type of the HostPath. PathType v1.HostPathType `json:"pathType,omitempty"` }
HostPathMount contains elements describing volumes that are mounted from the host.
func (*HostPathMount) DeepCopy ¶ added in v1.9.0
func (in *HostPathMount) DeepCopy() *HostPathMount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPathMount.
func (*HostPathMount) DeepCopyInto ¶ added in v1.9.0
func (in *HostPathMount) DeepCopyInto(out *HostPathMount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeProxy ¶ added in v1.9.0
type KubeProxy struct {
Config *kubeproxyconfigv1alpha1.KubeProxyConfiguration `json:"config,omitempty"`
}
KubeProxy contains elements describing the proxy configuration.
func (*KubeProxy) DeepCopy ¶ added in v1.9.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeProxy.
func (*KubeProxy) DeepCopyInto ¶ added in v1.9.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletConfiguration ¶ added in v1.9.0
type KubeletConfiguration struct {
BaseConfig *kubeletconfigv1beta1.KubeletConfiguration `json:"baseConfig,omitempty"`
}
KubeletConfiguration contains elements describing initial remote configuration of kubelet.
func (*KubeletConfiguration) DeepCopy ¶ added in v1.9.0
func (in *KubeletConfiguration) DeepCopy() *KubeletConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfiguration.
func (*KubeletConfiguration) DeepCopyInto ¶ added in v1.9.0
func (in *KubeletConfiguration) DeepCopyInto(out *KubeletConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MasterConfiguration ¶
type MasterConfiguration struct { metav1.TypeMeta `json:",inline"` // API holds configuration for the k8s apiserver. API API `json:"api"` // KubeProxy holds configuration for the k8s service proxy. KubeProxy KubeProxy `json:"kubeProxy"` // Etcd holds configuration for etcd. Etcd Etcd `json:"etcd"` // KubeletConfiguration holds configuration for the kubelet. KubeletConfiguration KubeletConfiguration `json:"kubeletConfiguration"` // Networking holds configuration for the networking topology of the cluster. Networking Networking `json:"networking"` // KubernetesVersion is the target version of the control plane. KubernetesVersion string `json:"kubernetesVersion"` // CloudProvider is the name of the cloud provider. CloudProvider string `json:"cloudProvider"` // NodeName is the name of the node that will host the k8s control plane. // Defaults to the hostname if not provided. NodeName string `json:"nodeName"` // AuthorizationModes is a set of authorization modes used inside the cluster. // If not specified, defaults to Node and RBAC, meaning both the node // authorizer and RBAC are enabled. AuthorizationModes []string `json:"authorizationModes,omitempty"` // NoTaintMaster will, if set, suppress the tainting of the // master node allowing workloads to be run on it (e.g. in // single node configurations). NoTaintMaster bool `json:"noTaintMaster,omitempty"` // Mark the controller and api server pods as privileged as some cloud // controllers like openstack need escalated privileges under some conditions // example - loading a config drive to fetch node information PrivilegedPods bool `json:"privilegedPods"` // Token is used for establishing bidirectional trust between nodes and masters. // Used for joining nodes in the cluster. Token string `json:"token"` // TokenTTL defines the ttl for Token. Defaults to 24h. TokenTTL *metav1.Duration `json:"tokenTTL,omitempty"` // TokenUsages describes the ways in which this token can be used. TokenUsages []string `json:"tokenUsages,omitempty"` // Extra groups that this token will authenticate as when used for authentication TokenGroups []string `json:"tokenGroups,omitempty"` // CRISocket is used to retrieve container runtime info. CRISocket string `json:"criSocket,omitempty"` // APIServerExtraArgs is a set of extra flags to pass to the API Server or override // default ones in form of <flagname>=<value>. // TODO: This is temporary and ideally we would like to switch all components to // use ComponentConfig + ConfigMaps. APIServerExtraArgs map[string]string `json:"apiServerExtraArgs,omitempty"` // ControllerManagerExtraArgs is a set of extra flags to pass to the Controller Manager // or override default ones in form of <flagname>=<value> // TODO: This is temporary and ideally we would like to switch all components to // use ComponentConfig + ConfigMaps. ControllerManagerExtraArgs map[string]string `json:"controllerManagerExtraArgs,omitempty"` // SchedulerExtraArgs is a set of extra flags to pass to the Scheduler or override // default ones in form of <flagname>=<value> // TODO: This is temporary and ideally we would like to switch all components to // use ComponentConfig + ConfigMaps. SchedulerExtraArgs map[string]string `json:"schedulerExtraArgs,omitempty"` // APIServerExtraVolumes is an extra set of host volumes mounted to the API server. APIServerExtraVolumes []HostPathMount `json:"apiServerExtraVolumes,omitempty"` // ControllerManagerExtraVolumes is an extra set of host volumes mounted to the // Controller Manager. ControllerManagerExtraVolumes []HostPathMount `json:"controllerManagerExtraVolumes,omitempty"` // SchedulerExtraVolumes is an extra set of host volumes mounted to the scheduler. SchedulerExtraVolumes []HostPathMount `json:"schedulerExtraVolumes,omitempty"` // APIServerCertSANs sets extra Subject Alternative Names for the API Server signing cert. APIServerCertSANs []string `json:"apiServerCertSANs,omitempty"` // CertificatesDir specifies where to store or look for all required certificates. CertificatesDir string `json:"certificatesDir"` // ImageRepository what container registry to pull control plane images from ImageRepository string `json:"imageRepository"` // ImagePullPolicy that control plane images. Can be Always, IfNotPresent or Never. ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"` // UnifiedControlPlaneImage specifies if a specific container image should // be used for all control plane components. UnifiedControlPlaneImage string `json:"unifiedControlPlaneImage"` // AuditPolicyConfiguration defines the options for the api server audit system AuditPolicyConfiguration AuditPolicyConfiguration `json:"auditPolicy"` // FeatureGates enabled by the user. FeatureGates map[string]bool `json:"featureGates,omitempty"` // The cluster name ClusterName string `json:"clusterName,omitempty"` }
MasterConfiguration contains a list of elements which make up master's configuration object.
func (*MasterConfiguration) DeepCopy ¶ added in v1.8.0
func (in *MasterConfiguration) DeepCopy() *MasterConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterConfiguration.
func (*MasterConfiguration) DeepCopyInto ¶ added in v1.8.0
func (in *MasterConfiguration) DeepCopyInto(out *MasterConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MasterConfiguration) DeepCopyObject ¶ added in v1.8.0
func (in *MasterConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Networking ¶
type Networking struct { // ServiceSubnet is the subnet used by k8s services. Defaults to "10.96.0.0/12". ServiceSubnet string `json:"serviceSubnet"` // PodSubnet is the subnet used by pods. PodSubnet string `json:"podSubnet"` // DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". DNSDomain string `json:"dnsDomain"` }
Networking contains elements describing cluster's networking configuration
func (*Networking) DeepCopy ¶ added in v1.8.0
func (in *Networking) DeepCopy() *Networking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Networking.
func (*Networking) DeepCopyInto ¶ added in v1.8.0
func (in *Networking) DeepCopyInto(out *Networking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeConfiguration ¶
type NodeConfiguration struct { metav1.TypeMeta `json:",inline"` // CACertPath is the path to the SSL certificate authority used to // secure comunications between node and master. // Defaults to "/etc/kubernetes/pki/ca.crt". CACertPath string `json:"caCertPath"` // DiscoveryFile is a file or url to a kubeconfig file from which to // load cluster information. DiscoveryFile string `json:"discoveryFile"` // DiscoveryToken is a token used to validate cluster information // fetched from the master. DiscoveryToken string `json:"discoveryToken"` // DiscoveryTokenAPIServers is a set of IPs to API servers from which info // will be fetched. Currently we only pay attention to one API server but // hope to support >1 in the future. DiscoveryTokenAPIServers []string `json:"discoveryTokenAPIServers,omitempty"` // DiscoveryTimeout modifies the discovery timeout DiscoveryTimeout *metav1.Duration `json:"discoveryTimeout,omitempty"` // NodeName is the name of the node to join the cluster. Defaults // to the name of the host. NodeName string `json:"nodeName"` // TLSBootstrapToken is a token used for TLS bootstrapping. // Defaults to Token. TLSBootstrapToken string `json:"tlsBootstrapToken"` // Token is used for both discovery and TLS bootstrapping. Token string `json:"token"` // CRISocket is used to retrieve container runtime info. CRISocket string `json:"criSocket,omitempty"` // ClusterName is the name for the cluster in kubeconfig. ClusterName string `json:"clusterName,omitempty"` // DiscoveryTokenCACertHashes specifies a set of public key pins to verify // when token-based discovery is used. The root CA found during discovery // must match one of these values. Specifying an empty set disables root CA // pinning, which can be unsafe. Each hash is specified as "<type>:<value>", // where the only currently supported type is "sha256". This is a hex-encoded // SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded // ASN.1. These hashes can be calculated using, for example, OpenSSL: // openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex DiscoveryTokenCACertHashes []string `json:"discoveryTokenCACertHashes,omitempty"` // DiscoveryTokenUnsafeSkipCAVerification allows token-based discovery // without CA verification via DiscoveryTokenCACertHashes. This can weaken // the security of kubeadm since other nodes can impersonate the master. DiscoveryTokenUnsafeSkipCAVerification bool `json:"discoveryTokenUnsafeSkipCAVerification"` // FeatureGates enabled by the user. FeatureGates map[string]bool `json:"featureGates,omitempty"` }
NodeConfiguration contains elements describing a particular node. TODO: This struct should be replaced by dynamic kubelet configuration.
func (*NodeConfiguration) DeepCopy ¶ added in v1.8.0
func (in *NodeConfiguration) DeepCopy() *NodeConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfiguration.
func (*NodeConfiguration) DeepCopyInto ¶ added in v1.8.0
func (in *NodeConfiguration) DeepCopyInto(out *NodeConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeConfiguration) DeepCopyObject ¶ added in v1.8.0
func (in *NodeConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SelfHostedEtcd ¶ added in v1.9.0
type SelfHostedEtcd struct { // CertificatesDir represents the directory where all etcd TLS assets are stored. // Defaults to "/etc/kubernetes/pki/etcd". CertificatesDir string `json:"certificatesDir"` // ClusterServiceName is the name of the service that load balances the etcd cluster. ClusterServiceName string `json:"clusterServiceName"` // EtcdVersion is the version of etcd running in the cluster. EtcdVersion string `json:"etcdVersion"` // OperatorVersion is the version of the etcd-operator to use. OperatorVersion string `json:"operatorVersion"` }
SelfHostedEtcd describes options required to configure self-hosted etcd.
func (*SelfHostedEtcd) DeepCopy ¶ added in v1.9.0
func (in *SelfHostedEtcd) DeepCopy() *SelfHostedEtcd
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfHostedEtcd.
func (*SelfHostedEtcd) DeepCopyInto ¶ added in v1.9.0
func (in *SelfHostedEtcd) DeepCopyInto(out *SelfHostedEtcd)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TokenDiscovery ¶ added in v1.6.0
type TokenDiscovery struct { // ID is the first part of a bootstrap token. Considered public information. // It is used when referring to a token without leaking the secret part. ID string `json:"id"` // Secret is the second part of a bootstrap token. Should only be shared // with trusted parties. Secret string `json:"secret"` }
TokenDiscovery contains elements needed for token discovery.
func (*TokenDiscovery) DeepCopy ¶ added in v1.8.0
func (in *TokenDiscovery) DeepCopy() *TokenDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenDiscovery.
func (*TokenDiscovery) DeepCopyInto ¶ added in v1.8.0
func (in *TokenDiscovery) DeepCopyInto(out *TokenDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.