Documentation ¶
Index ¶
- Constants
- func AppendVersionTag(tags *map[string]string)
- func CheckCPUManagerPolicy(wpCPUMgrVals map[string]string) hcl.Diagnostics
- func CommonControlPlaneCharts(c ControlPlanCharts) []helm.LokomotiveChart
- func ControlPlaneChart(name string) (*chart.Chart, error)
- func WorkerPoolNamesUnique(pools []WorkerPool) hcl.Diagnostics
- type ControlPlanCharts
- type Meta
- type Platform
- type PlatformWithPostApplyHook
- type WorkerPool
- type Workload
Constants ¶
const ( // NetworkMTU is the default host network MTU. NetworkMTU = 1500 // ConntrackMaxPerCore is the default conntrack table size per core inherited from upstream kube-proxy. ConntrackMaxPerCore = 32768 // KubernetesChartName is the expected name for the Kubernetes Helm chart. KubernetesChartName = "kubernetes" // KubeletChartName is the expected name for the Kubelet Helm chart. KubeletChartName = "kubelet" // NodeLocalDNSChartName is the expected name for the Node Local DNS Helm chart. NodeLocalDNSChartName = "node-local-dns" // NodeLocalDNSIP is the default node-local-dns's link local IP on the host. NodeLocalDNSIP = "169.254.1.1" )
Variables ¶
This section is empty.
Functions ¶
func AppendVersionTag ¶ added in v0.2.0
AppendVersionTag appends the lokoctl-version tag to a given tags map.
func CheckCPUManagerPolicy ¶ added in v0.9.0
CheckCPUManagerPolicy takes a map with key as worker pool name and value as the CPU Manager Policy value. This function checks if the values are valid for Kubernetes.
func CommonControlPlaneCharts ¶ added in v0.4.0
func CommonControlPlaneCharts(c ControlPlanCharts) []helm.LokomotiveChart
CommonControlPlaneCharts returns a list of control plane Helm charts to be deployed for all platforms.
func ControlPlaneChart ¶ added in v0.4.0
ControlPlaneChart is a convenience function which returns a pointer to a chart.Chart representing the control plane element named name.
func WorkerPoolNamesUnique ¶ added in v0.6.0
func WorkerPoolNamesUnique(pools []WorkerPool) hcl.Diagnostics
WorkerPoolNamesUnique takes a slice of worker pools and checks if they all have unique names. If not, error diagnostic is returned.
Types ¶
type ControlPlanCharts ¶ added in v0.9.0
ControlPlanCharts struct allows the client to enable/disable specific control plane components based on the user input.
type Meta ¶ added in v0.2.0
type Meta struct { AssetDir string ExpectedNodes int Managed bool ControlplaneCharts []helm.LokomotiveChart ControllerModuleName string DaemonSets []Workload Deployments []Workload }
Meta is a generic information format about the platform.
type Platform ¶
type Platform interface { LoadConfig(*hcl.Body, *hcl.EvalContext) hcl.Diagnostics Apply(*terraform.Executor) error ApplyWithoutParallel(*terraform.Executor) error Destroy(*terraform.Executor) error Initialize(*terraform.Executor) error Meta() Meta }
Platform describes single environment, where cluster can be installed
type PlatformWithPostApplyHook ¶ added in v0.4.0
PlatformWithPostApplyHook runs code after Terraform finishes applying. This allows running sanity checks on the newly created cluster. Implementing this interface is optional for platforms.
type WorkerPool ¶ added in v0.6.0
type WorkerPool interface {
Name() string
}
WorkerPool describes common functionality between worker pools implementations.
type Workload ¶ added in v0.8.0
Workload is a generic struct which can be used to construct a reference to Deployment, DaemonSet, StatefulSet etc. objects.
func CommonDaemonSets ¶ added in v0.8.0
CommonDaemonSets returns common DaemonSets for all Lokomotive platforms.
Number of DaemonSets depends on number of controller nodes in the cluster and if self-hosted kubelet is enabled.
func CommonDeployments ¶ added in v0.8.0
CommonDeployments returns common Deployments for all self-hosted Lokomotive platforms.
Number of Deployments depends on number of controller nodes in the cluster.
Directories ¶
Path | Synopsis |
---|---|
Package aks is a Platform implementation for creating a Kubernetes cluster using Azure AKS.
|
Package aks is a Platform implementation for creating a Kubernetes cluster using Azure AKS. |
Package equinixmetal provides the implenentation of the Platform interface for Equinix Metal cloud provider.
|
Package equinixmetal provides the implenentation of the Platform interface for Equinix Metal cloud provider. |
Package tinkerbell provides Platform implementation using Tinkerbell provisioning system.
|
Package tinkerbell provides Platform implementation using Tinkerbell provisioning system. |