Documentation ¶
Index ¶
- Constants
- func NewConfig(cluster *kops.Cluster, instanceGroup *kops.InstanceGroup) (*Config, *BootConfig)
- func UsesInstanceIDForNodeName(cluster *kops.Cluster) bool
- type APIServerConfig
- type BootConfig
- type BootstrapRequest
- type BootstrapResponse
- type Config
- type ConfigServerOptions
- type Image
- type NodeConfig
- type NodeConfigCertificate
- type StaticManifest
Constants ¶
View Source
const BootstrapAPIVersion = "bootstrap.kops.k8s.io/v1alpha1"
Variables ¶
This section is empty.
Functions ¶
func NewConfig ¶ added in v1.19.0
func NewConfig(cluster *kops.Cluster, instanceGroup *kops.InstanceGroup) (*Config, *BootConfig)
func UsesInstanceIDForNodeName ¶ added in v1.24.0
Types ¶
type APIServerConfig ¶ added in v1.21.3
type APIServerConfig struct { // KubeAPIServer is a copy of the KubeAPIServerConfig from the cluster spec. KubeAPIServer *kops.KubeAPIServerConfig // EncryptionConfigSecretHash is a hash of the encryptionconfig secret. // It is empty if EncryptionConfig is not enabled. // TODO: give secrets IDs and look them up like we do keypairs. EncryptionConfigSecretHash string `json:",omitempty"` // ServiceAccountPublicKeys are the service-account public keys to trust. ServiceAccountPublicKeys string }
APIServerConfig is additional configuration for nodes running an APIServer.
type BootConfig ¶ added in v1.21.3
type BootConfig struct { // CloudProvider is the cloud provider in use. CloudProvider string // ConfigBase is the base VFS path for config objects. ConfigBase *string `json:",omitempty"` // ConfigServer holds the configuration for the configuration server. ConfigServer *ConfigServerOptions `json:",omitempty"` // InstanceGroupName is the name of the instance group. InstanceGroupName string `json:",omitempty"` // InstanceGroupRole is the instance group role. InstanceGroupRole kops.InstanceGroupRole // NodeupConfigHash holds a secure hash of the nodeup.Config. NodeupConfigHash string }
BootConfig is the configuration for the nodeup binary that might be too big to fit in userdata.
type BootstrapRequest ¶ added in v1.19.0
type BootstrapRequest struct { // APIVersion defines the versioned schema of this representation of a request. APIVersion string `json:"apiVersion"` // Certs are the requested certificates and their respective public keys. Certs map[string]string `json:"certs"` // KeypairIDs are the keypair IDs of the CAs to use for issuing certificates. KeypairIDs map[string]string `json:"keypairIDs"` // IncludeNodeConfig controls whether the cluster & instance group configuration should be returned. // This allows for nodes without access to the kops state store. IncludeNodeConfig bool `json:"includeNodeConfig"` }
BootstrapRequest is a request from nodeup to kops-controller for bootstrapping a node.
type BootstrapResponse ¶ added in v1.19.0
type BootstrapResponse struct { // Certs are the issued certificates. Certs map[string]string // NodeConfig contains the node configuration, if IncludeNodeConfig is set. NodeConfig *NodeConfig `json:"nodeConfig,omitempty"` }
BootstrapResponse is a response to a BootstrapRequest.
type Config ¶
type Config struct { // Assets are locations where we can find files to be installed // TODO: Remove once everything is in containers? Assets map[architectures.Architecture][]string `json:",omitempty"` // Images are a list of images we should preload Images map[architectures.Architecture][]*Image `json:"images,omitempty"` // ClusterName is the name of the cluster ClusterName string `json:",omitempty"` // Channels is a list of channels that we should apply Channels []string `json:"channels,omitempty"` // ApiserverAdditionalIPs are additional IP address to put in the apiserver server cert. ApiserverAdditionalIPs []string `json:",omitempty"` // WarmPoolImages are the container images to pre-pull during instance pre-initialization WarmPoolImages []string `json:"warmPoolImages,omitempty"` // Manifests for running etcd EtcdManifests []string `json:"etcdManifests,omitempty"` // CAs are the CA certificates to trust. CAs map[string]string // KeypairIDs are the IDs of keysets used to sign things. KeypairIDs map[string]string // DefaultMachineType is the first-listed instance machine type, used if querying instance metadata fails. DefaultMachineType *string `json:",omitempty"` // EnableLifecycleHook defines whether we need to complete a lifecycle hook. EnableLifecycleHook bool `json:",omitempty"` // StaticManifests describes generic static manifests // Using this allows us to keep complex logic out of nodeup StaticManifests []*StaticManifest `json:"staticManifests,omitempty"` // KubeletConfig defines the kubelet configuration. KubeletConfig kops.KubeletConfigSpec // SysctlParameters will configure kernel parameters using sysctl(8). When // specified, each parameter must follow the form variable=value, the way // it would appear in sysctl.conf. SysctlParameters []string `json:",omitempty"` // UpdatePolicy determines the policy for applying upgrades automatically. UpdatePolicy string // VolumeMounts are a collection of volume mounts. VolumeMounts []kops.VolumeMountSpec `json:",omitempty"` // FileAssets are a collection of file assets for this instance group. FileAssets []kops.FileAssetSpec `json:",omitempty"` // Hooks are for custom actions, for example on first installation. Hooks [][]kops.HookSpec // ContainerdConfig config holds the configuration for containerd ContainerdConfig *kops.ContainerdConfig `json:"containerdConfig,omitempty"` // APIServerConfig is additional configuration for nodes running an APIServer. APIServerConfig *APIServerConfig `json:",omitempty"` // NvidiaGPU contains the configuration for nvidia NvidiaGPU *kops.NvidiaGPUConfig `json:",omitempty"` // UseInstanceIDForNodeName uses the instance ID instead of the hostname for the node name. UseInstanceIDForNodeName bool `json:"useInstanceIDForNodeName,omitempty"` }
Config is the configuration for the nodeup binary
type ConfigServerOptions ¶ added in v1.21.0
type Image ¶
type Image struct { // This is the name we would pass to "docker run", whereas source could be a URL from which we would download an image. Name string `json:"name,omitempty"` // Sources is a list of URLs from which we should download the image Sources []string `json:"sources,omitempty"` // Hash is the hash of the file, to verify image integrity (even over http) Hash string `json:"hash,omitempty"` }
Image is a docker image we should pre-load
type NodeConfig ¶ added in v1.21.0
type NodeConfig struct { // ClusterFullConfig holds the completed configuration for the cluster. ClusterFullConfig string `json:"clusterFullConfig,omitempty"` // NodeupConfig holds the nodeup.Config for the node's instance group. NodeupConfig string `json:"nodeupConfig,omitempty"` }
NodeConfig holds configuration needed to boot a node (without the kops state store)
type NodeConfigCertificate ¶ added in v1.21.0
type NodeConfigCertificate struct { // Name identifies the certificate. Name string `json:"name,omitempty"` // Cert is the certificate data. Cert string `json:"cert,omitempty"` }
NodeConfigCertificate holds a certificate that the node needs to boot.
type StaticManifest ¶ added in v1.17.0
type StaticManifest struct { // Key identifies the static manifest Key string `json:"key,omitempty"` // Path is the path to the manifest Path string `json:"path,omitempty"` }
StaticManifest is a generic static manifest
Click to show internal directories.
Click to hide internal directories.