Documentation ¶
Index ¶
- Constants
- Variables
- func ApplyAuthzResources(ctx context.Context, rkeConfig v3.RancherKubernetesEngineConfig, ...) error
- func BuildPortChecksFromPortList(host *hosts.Host, portList []string, proto string) []v3.PortCheck
- func BuildRKEConfigNodePlan(ctx context.Context, myCluster *Cluster, host *hosts.Host, ...) v3.RKEConfigNodePlan
- func CheckEtcdHostsChanged(kubeCluster, currentCluster *Cluster) error
- func ConfigureCluster(ctx context.Context, rkeConfig v3.RancherKubernetesEngineConfig, ...) error
- func GeneratePlan(ctx context.Context, rkeConfig *v3.RancherKubernetesEngineConfig, ...) (v3.RKEPlan, error)
- func GetCertificateDirPath(configPath, configDir string) string
- func GetClusterCertsFromKubernetes(ctx context.Context, kubeCluster *Cluster) (map[string]pki.CertificatePKI, error)
- func GetClusterCertsFromNodes(ctx context.Context, kubeCluster *Cluster) (map[string]pki.CertificatePKI, error)
- func GetK8sVersion(localConfigPath string, k8sWrapTransport transport.WrapperFunc) (string, error)
- func GetLocalRKEConfig() *v3.RancherKubernetesEngineConfig
- func GetLocalRKENodeConfig() *v3.RKEConfigNode
- func GetServiceOptionData(data map[string]interface{}) map[string]*v3.KubernetesServicesOptions
- func GetStateFilePath(configPath, configDir string) string
- func IsLegacyKubeAPI(ctx context.Context, kubeCluster *Cluster) (bool, error)
- func ParseConfig(clusterFile string) (*v3.RancherKubernetesEngineConfig, error)
- func RebuildKubeconfig(ctx context.Context, kubeCluster *Cluster) error
- func ReconcileCluster(ctx context.Context, kubeCluster, currentCluster *Cluster, flags ExternalFlags, ...) error
- func ReconcileEncryptionProviderConfig(ctx context.Context, kubeCluster, currentCluster *Cluster) error
- func RemoveStateFile(ctx context.Context, statePath string)
- func RestartClusterPods(ctx context.Context, kubeCluster *Cluster) error
- func RotateRKECertificates(ctx context.Context, c *Cluster, flags ExternalFlags, clusterState *FullState) error
- func SaveFullStateToKubernetes(ctx context.Context, kubeCluster *Cluster, fullState *FullState) error
- func SetUpAuthentication(ctx context.Context, kubeCluster, currentCluster *Cluster, ...) error
- func ValidateHostCount(c *Cluster) error
- type Cluster
- func (c *Cluster) ApplySystemAddonExecuteJob(addonJob string, addonUpdated bool) error
- func (c *Cluster) BuildEtcdProcess(host *hosts.Host, etcdHosts []*hosts.Host, ...) v3.Process
- func (c *Cluster) BuildKubeAPIProcess(host *hosts.Host, serviceOptions v3.KubernetesServicesOptions) v3.Process
- func (c *Cluster) BuildKubeControllerProcess(host *hosts.Host, serviceOptions v3.KubernetesServicesOptions) v3.Process
- func (c *Cluster) BuildKubeProxyProcess(host *hosts.Host, serviceOptions v3.KubernetesServicesOptions) v3.Process
- func (c *Cluster) BuildKubeletProcess(host *hosts.Host, serviceOptions v3.KubernetesServicesOptions) v3.Process
- func (c *Cluster) BuildProxyProcess(host *hosts.Host) v3.Process
- func (c *Cluster) BuildSchedulerProcess(host *hosts.Host, serviceOptions v3.KubernetesServicesOptions) v3.Process
- func (c *Cluster) BuildSidecarProcess(host *hosts.Host) v3.Process
- func (c *Cluster) CalculateMaxUnavailable() (int, int, error)
- func (c *Cluster) CheckClusterPorts(ctx context.Context, currentCluster *Cluster) error
- func (c *Cluster) CleanDeadLogs(ctx context.Context) error
- func (c *Cluster) CleanupFiles(ctx context.Context) error
- func (c *Cluster) CleanupNodes(ctx context.Context) error
- func (c *Cluster) ClusterRemove(ctx context.Context) error
- func (c *Cluster) DeployControlPlane(ctx context.Context, svcOptionData map[string]*v3.KubernetesServicesOptions, ...) (string, error)
- func (c *Cluster) DeployEncryptionProviderFile(ctx context.Context) error
- func (c *Cluster) DeployRestoreCerts(ctx context.Context, clusterCerts map[string]pki.CertificatePKI) error
- func (c *Cluster) DeployStateFile(ctx context.Context, stateFilePath, snapshotName string) error
- func (c *Cluster) DeployWorkerPlane(ctx context.Context, svcOptionData map[string]*v3.KubernetesServicesOptions, ...) (string, error)
- func (c *Cluster) DisableSecretsEncryption(ctx context.Context, currentCluster *Cluster, custom bool) error
- func (c *Cluster) GetClusterState(ctx context.Context, fullState *FullState) (*Cluster, error)
- func (c *Cluster) GetHostInfoMap() map[string]types.Info
- func (c *Cluster) GetKubernetesServicesOptions(osType string, data map[string]*v3.KubernetesServicesOptions) (v3.KubernetesServicesOptions, error)
- func (c *Cluster) GetStateFileFromSnapshot(ctx context.Context, snapshotName string) (string, error)
- func (c *Cluster) InvertIndexHosts() error
- func (c *Cluster) IsEncryptionCustomConfig() bool
- func (c *Cluster) IsEncryptionEnabled() bool
- func (c *Cluster) IsKubeletGenerateServingCertificateEnabled() bool
- func (c *Cluster) PrePullK8sImages(ctx context.Context) error
- func (c *Cluster) PrepareBackup(ctx context.Context, snapshotPath string) error
- func (c *Cluster) ReconcileDesiredStateEncryptionConfig(ctx context.Context, fullState *FullState) error
- func (c *Cluster) RemoveEtcdSnapshot(ctx context.Context, snapshotName string) error
- func (c *Cluster) RemoveOldNodes(ctx context.Context) error
- func (c *Cluster) RestoreEtcdSnapshot(ctx context.Context, snapshotPath string) error
- func (c *Cluster) RewriteSecrets(ctx context.Context) error
- func (c *Cluster) RotateEncryptionKey(ctx context.Context, fullState *FullState) error
- func (c *Cluster) SetUpHosts(ctx context.Context, flags ExternalFlags) error
- func (c *Cluster) SetupDialers(ctx context.Context, dailersOptions hosts.DialersOptions) error
- func (c *Cluster) SnapshotEtcd(ctx context.Context, snapshotName string) error
- func (c *Cluster) StoreAddonConfigMap(ctx context.Context, addonYaml string, addonName string) (bool, error)
- func (c *Cluster) SyncLabelsAndTaints(ctx context.Context, currentCluster *Cluster) error
- func (c *Cluster) TunnelHosts(ctx context.Context, flags ExternalFlags) error
- func (c *Cluster) UpdateClusterCurrentState(ctx context.Context, fullState *FullState) error
- func (c *Cluster) UpgradeControlPlane(ctx context.Context, kubeClient *kubernetes.Clientset, ...) (string, error)
- func (c *Cluster) UpgradeWorkerPlane(ctx context.Context, kubeClient *kubernetes.Clientset, ...) (string, error)
- func (c *Cluster) ValidateCluster(ctx context.Context) error
- type CoreDNSOptions
- type ExternalFlags
- type FullState
- type KubeDNSOptions
- type MetricsServerOptions
- type NodelocalOptions
- type State
Constants ¶
View Source
const ( UserAddonResourceName = "rke-user-addon" IngressAddonResourceName = "rke-ingress-controller" UserAddonsIncludeResourceName = "rke-user-includes-addons" IngressAddonJobName = "rke-ingress-controller-deploy-job" MetricsServerAddonJobName = "rke-metrics-addon-deploy-job" UserAddonJobName = "rke-user-addon-deploy-job" UserAddonIncludeJobName = "rke-user-includes-addons-deploy-job" MetricsServerAddonResourceName = "rke-metrics-addon" NginxIngressAddonAppName = "ingress-nginx" KubeDNSAddonAppName = "kube-dns" KubeDNSAutoscalerAppName = "kube-dns-autoscaler" CoreDNSAutoscalerAppName = "coredns-autoscaler" KubeAPIAuthAppName = "kube-api-auth" CattleClusterAgentAppName = "cattle-cluster-agent" CoreDNSProvider = "coredns" KubeDNSProvider = "kube-dns" Nodelocal = "nodelocal" )
View Source
const ( AuthnX509Provider = "x509" AuthnWebhookProvider = "webhook" StateConfigMapName = "cluster-state" FullStateConfigMapName = "full-cluster-state" UpdateStateTimeout = 30 GetStateTimeout = 30 SyncWorkers = 10 NoneAuthorizationMode = "none" LocalNodeAddress = "127.0.0.1" LocalNodeHostname = "localhost" LocalNodeUser = "root" CloudProvider = "CloudProvider" ControlPlane = "controlPlane" KubeAppLabel = "k8s-app" AppLabel = "app" NameLabel = "name" WorkerThreads = util.WorkerThreads SystemNamespace = "kube-system" )
View Source
const ( DefaultServiceClusterIPRange = "10.43.0.0/16" DefaultNodePortRange = "30000-32767" DefaultClusterCIDR = "10.42.0.0/16" DefaultClusterDNSService = "10.43.0.10" DefaultClusterDomain = "cluster.local" DefaultClusterName = "local" DefaultClusterSSHKeyPath = "~/.ssh/id_rsa" DefaultSSHPort = "22" DefaultDockerSockPath = "/var/run/docker.sock" DefaultAuthStrategy = "x509" DefaultAuthorizationMode = "rbac" DefaultAuthnWebhookFile = templates.AuthnWebhook DefaultAuthnCacheTimeout = "5s" DefaultNetworkPlugin = "canal" DefaultNetworkCloudProvider = "none" DefaultIngressController = "nginx" DefaultEtcdBackupCreationPeriod = "12h" DefaultEtcdBackupRetentionPeriod = "72h" DefaultEtcdSnapshot = true DefaultMonitoringProvider = "metrics-server" DefaultEtcdBackupConfigIntervalHours = 12 DefaultEtcdBackupConfigRetention = 6 DefaultDNSProvider = "kube-dns" K8sVersionCoreDNS = "1.14.0" DefaultEtcdHeartbeatIntervalName = "heartbeat-interval" DefaultEtcdHeartbeatIntervalValue = "500" DefaultEtcdElectionTimeoutName = "election-timeout" DefaultEtcdElectionTimeoutValue = "5000" DefaultFlannelBackendVxLan = "vxlan" DefaultFlannelBackendVxLanPort = "8472" DefaultFlannelBackendVxLanVNI = "1" DefaultCalicoFlexVolPluginDirectory = "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds" DefaultCanalFlexVolPluginDirectory = "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds" KubeAPIArgAdmissionControlConfigFile = "admission-control-config-file" DefaultKubeAPIArgAdmissionControlConfigFileValue = "/etc/kubernetes/admission.yaml" EventRateLimitPluginName = "EventRateLimit" KubeAPIArgAuditLogPath = "audit-log-path" KubeAPIArgAuditLogMaxAge = "audit-log-maxage" KubeAPIArgAuditLogMaxBackup = "audit-log-maxbackup" KubeAPIArgAuditLogMaxSize = "audit-log-maxsize" KubeAPIArgAuditLogFormat = "audit-log-format" KubeAPIArgAuditPolicyFile = "audit-policy-file" DefaultKubeAPIArgAuditLogPathValue = "/var/log/kube-audit/audit-log.json" DefaultKubeAPIArgAuditPolicyFileValue = "/etc/kubernetes/audit-policy.yaml" DefaultNodeDrainTimeout = 120 DefaultNodeDrainGracePeriod = -1 DefaultHTTPPort = 80 DefaultHTTPSPort = 443 DefaultNetworkMode = "hostNetwork" )
View Source
const ( ContainerName = "file-deployer" ServiceName = "file-deploy" ConfigEnv = "FILE_DEPLOY" )
View Source
const ( NetworkPluginResourceName = "rke-network-plugin" PortCheckContainer = "rke-port-checker" EtcdPortListenContainer = "rke-etcd-port-listener" CPPortListenContainer = "rke-cp-port-listener" WorkerPortListenContainer = "rke-worker-port-listener" KubeAPIPort = "6443" EtcdPort1 = "2379" EtcdPort2 = "2380" ScedulerPort = "10251" ControllerPort = "10252" KubeletPort = "10250" KubeProxyPort = "10256" FlannelVxLanPort = 8472 FlannelVxLanNetworkIdentify = 1 ProtocolTCP = "TCP" ProtocolUDP = "UDP" NoNetworkPlugin = "none" FlannelNetworkPlugin = "flannel" FlannelIface = "flannel_iface" FlannelBackendType = "flannel_backend_type" // FlannelBackendPort must be 4789 if using VxLan mode in the cluster with Windows nodes FlannelBackendPort = "flannel_backend_port" // FlannelBackendVxLanNetworkIdentify should be greater than or equal to 4096 if using VxLan mode in the cluster with Windows nodes FlannelBackendVxLanNetworkIdentify = "flannel_backend_vni" CalicoNetworkPlugin = "calico" CalicoNodeLabel = "calico-node" CalicoControllerLabel = "calico-kube-controllers" CalicoCloudProvider = "calico_cloud_provider" CalicoFlexVolPluginDirectory = "calico_flex_volume_plugin_dir" CanalNetworkPlugin = "canal" CanalIface = "canal_iface" CanalFlannelBackendType = "canal_flannel_backend_type" // CanalFlannelBackendPort must be 4789 if using Flannel VxLan mode in the cluster with Windows nodes CanalFlannelBackendPort = "canal_flannel_backend_port" // CanalFlannelBackendVxLanNetworkIdentify should be greater than or equal to 4096 if using Flannel VxLan mode in the cluster with Windows nodes CanalFlannelBackendVxLanNetworkIdentify = "canal_flannel_backend_vni" CanalFlexVolPluginDirectory = "canal_flex_volume_plugin_dir" WeaveNetworkPlugin = "weave" WeaveNetworkAppName = "weave-net" // EtcdEndpoints is the server address for Etcd, used by calico EtcdEndpoints = "EtcdEndpoints" // APIRoot is the kubernetes API address APIRoot = "APIRoot" EtcdClientCert = "EtcdClientCert" EtcdClientKey = "EtcdClientKey" EtcdClientCA = "EtcdClientCA" EtcdClientCertPath = "EtcdClientCertPath" EtcdClientKeyPath = "EtcdClientKeyPath" EtcdClientCAPath = "EtcdClientCAPath" ClientCertPath = "ClientCertPath" ClientKeyPath = "ClientKeyPath" ClientCAPath = "ClientCAPath" KubeCfg = "KubeCfg" ClusterCIDR = "ClusterCIDR" Image = "Image" CNIImage = "CNIImage" NodeImage = "NodeImage" ControllersImage = "ControllersImage" CanalFlannelImg = "CanalFlannelImg" FlexVolImg = "FlexVolImg" WeaveLoopbackImage = "WeaveLoopbackImage" Calicoctl = "Calicoctl" FlannelInterface = "FlannelInterface" FlannelBackend = "FlannelBackend" CanalInterface = "CanalInterface" FlexVolPluginDir = "FlexVolPluginDir" WeavePassword = "WeavePassword" MTU = "MTU" RBACConfig = "RBACConfig" ClusterVersion = "ClusterVersion" NodeSelector = "NodeSelector" UpdateStrategy = "UpdateStrategy" )
View Source
const ( ClusterCIDREnv = "RKE_CLUSTER_CIDR" ClusterServiceCIDREnv = "RKE_CLUSTER_SERVICE_CIDR" ClusterDNSServerEnv = "RKE_CLUSTER_DNS_SERVER" ClusterDomainEnv = "RKE_CLUSTER_DOMAIN" NodeAddressEnv = "RKE_NODE_ADDRESS" NodeInternalAddressEnv = "RKE_NODE_INTERNAL_ADDRESS" NodeNameOverrideEnv = "RKE_NODE_NAME_OVERRIDE" NodePrefixPath = "RKE_NODE_PREFIX_PATH" NetworkConfigurationEnv = "RKE_NETWORK_CONFIGURATION" EtcdPathPrefix = "/registry" CloudConfigSumEnv = "RKE_CLOUD_CONFIG_CHECKSUM" CloudProviderNameEnv = "RKE_CLOUD_PROVIDER_NAME" DefaultToolsEntrypoint = "/opt/rke-tools/entrypoint.sh" DefaultToolsEntrypointVersion = "0.1.13" LegacyToolsEntrypoint = "/opt/rke/entrypoint.sh" KubeletDockerConfigEnv = "RKE_KUBELET_DOCKER_CONFIG" KubeletDockerConfigFileEnv = "RKE_KUBELET_DOCKER_FILE" KubeletDockerConfigPath = "/var/lib/kubelet/config.json" // MaxEtcdOldEnvVersion The versions are maxed out for minor versions because -rancher1 suffix will cause semver to think its older, example: v1.15.0 > v1.15.0-rancher1 MaxEtcdOldEnvVersion = "v3.2.99" MaxK8s115Version = "v1.15" MaxEtcdPort4001Version = "v3.4.3-rancher99" EncryptionProviderConfigArgument = "encryption-provider-config" )
View Source
const (
EncryptionProviderFilePath = "/etc/kubernetes/ssl/encryption.yaml"
)
View Source
const (
EtcdPlaneNodesReplacedErr = "Etcd plane nodes are replaced. Stopping provisioning. Please restore your cluster from backup."
)
Variables ¶
View Source
var ( DefaultNodeDrainIgnoreDaemonsets = true DefaultDeploymentUpdateStrategyParams = intstr.FromString("25%") DefaultDaemonSetUpdateStrategy = v3.DaemonSetUpdateStrategy{ Strategy: appsv1.RollingUpdateDaemonSetStrategyType, RollingUpdate: &appsv1.RollingUpdateDaemonSet{MaxUnavailable: &DefaultDaemonSetMaxUnavailable}, } DefaultDeploymentUpdateStrategy = v3.DeploymentStrategy{ Strategy: appsv1.RollingUpdateDeploymentStrategyType, RollingUpdate: &appsv1.RollingUpdateDeployment{ MaxUnavailable: &DefaultDeploymentUpdateStrategyParams, MaxSurge: &DefaultDeploymentUpdateStrategyParams, }, } DefaultClusterProportionalAutoscalerLinearParams = v3.LinearAutoscalerParams{CoresPerReplica: 128, NodesPerReplica: 4, Min: 1, PreventSinglePointFailure: true} DefaultMonitoringAddonReplicas = int32(1) )
View Source
var CalicoNetworkLabels = []string{CalicoNodeLabel, CalicoControllerLabel}
View Source
var ControlPlanePortList = []string{ KubeAPIPort, }
View Source
var DNSProviders = []string{KubeDNSProvider, CoreDNSProvider}
View Source
var EtcdClientPortList = []string{ EtcdPort1, }
View Source
var EtcdPortList = []string{ EtcdPort1, EtcdPort2, }
View Source
var WorkerPortList = []string{ KubeletPort, }
Functions ¶
func ApplyAuthzResources ¶ added in v0.1.2
func ApplyAuthzResources(ctx context.Context, rkeConfig v3.RancherKubernetesEngineConfig, flags ExternalFlags, dailersOptions hosts.DialersOptions) error
func BuildPortChecksFromPortList ¶ added in v0.1.2
func BuildRKEConfigNodePlan ¶ added in v0.1.2
func BuildRKEConfigNodePlan(ctx context.Context, myCluster *Cluster, host *hosts.Host, svcOptions v3.KubernetesServicesOptions) v3.RKEConfigNodePlan
func CheckEtcdHostsChanged ¶
func ConfigureCluster ¶ added in v0.1.2
func ConfigureCluster( ctx context.Context, rkeConfig v3.RancherKubernetesEngineConfig, crtBundle map[string]pki.CertificatePKI, flags ExternalFlags, dailersOptions hosts.DialersOptions, data map[string]interface{}, useKubectl bool) error
func GeneratePlan ¶ added in v0.1.2
func GetCertificateDirPath ¶ added in v0.2.0
func GetClusterCertsFromKubernetes ¶ added in v0.2.0
func GetClusterCertsFromNodes ¶ added in v0.2.0
func GetK8sVersion ¶
func GetK8sVersion(localConfigPath string, k8sWrapTransport transport.WrapperFunc) (string, error)
func GetLocalRKEConfig ¶
func GetLocalRKEConfig() *v3.RancherKubernetesEngineConfig
func GetLocalRKENodeConfig ¶
func GetLocalRKENodeConfig() *v3.RKEConfigNode
func GetServiceOptionData ¶ added in v0.3.0
func GetServiceOptionData(data map[string]interface{}) map[string]*v3.KubernetesServicesOptions
func GetStateFilePath ¶ added in v0.2.0
func IsLegacyKubeAPI ¶ added in v0.2.0
func ParseConfig ¶
func ParseConfig(clusterFile string) (*v3.RancherKubernetesEngineConfig, error)
func RebuildKubeconfig ¶ added in v0.2.0
func ReconcileCluster ¶
func ReconcileCluster(ctx context.Context, kubeCluster, currentCluster *Cluster, flags ExternalFlags, svcOptionData map[string]*v3.KubernetesServicesOptions) error
func ReconcileEncryptionProviderConfig ¶ added in v1.0.0
func RemoveStateFile ¶ added in v1.2.0
func RestartClusterPods ¶ added in v0.2.0
func RotateRKECertificates ¶ added in v0.1.18
func SaveFullStateToKubernetes ¶ added in v0.2.0
func SetUpAuthentication ¶
func ValidateHostCount ¶ added in v0.1.2
Types ¶
type Cluster ¶
type Cluster struct { AuthnStrategies map[string]bool ConfigPath string ConfigDir string CloudConfigFile string ControlPlaneHosts []*hosts.Host Certificates map[string]pki.CertificatePKI CertificateDir string ClusterDomain string ClusterCIDR string ClusterDNSServer string DinD bool DockerDialerFactory hosts.DialerFactory EtcdHosts []*hosts.Host EtcdReadyHosts []*hosts.Host ForceDeployCerts bool InactiveHosts []*hosts.Host K8sWrapTransport transport.WrapperFunc KubeClient *kubernetes.Clientset KubernetesServiceIP net.IP LocalKubeConfigPath string LocalConnDialerFactory hosts.DialerFactory PrivateRegistriesMap map[string]v3.PrivateRegistry StateFilePath string UpdateWorkersOnly bool UseKubectlDeploy bool v3.RancherKubernetesEngineConfig `yaml:",inline"` WorkerHosts []*hosts.Host EncryptionConfig encryptionConfig NewHosts map[string]bool }
func GetStateFromKubernetes ¶ added in v0.2.0
func GetStateFromNodes ¶ added in v0.2.0
func InitClusterObject ¶ added in v0.2.0
func InitClusterObject(ctx context.Context, rkeConfig *v3.RancherKubernetesEngineConfig, flags ExternalFlags, encryptConfig string) (*Cluster, error)
func (*Cluster) ApplySystemAddonExecuteJob ¶ added in v0.1.9
func (*Cluster) BuildEtcdProcess ¶ added in v0.1.2
func (*Cluster) BuildKubeAPIProcess ¶ added in v0.1.2
func (*Cluster) BuildKubeControllerProcess ¶ added in v0.1.2
func (*Cluster) BuildKubeProxyProcess ¶ added in v0.1.2
func (*Cluster) BuildKubeletProcess ¶ added in v0.1.2
func (*Cluster) BuildProxyProcess ¶ added in v0.1.2
func (*Cluster) BuildSchedulerProcess ¶ added in v0.1.2
func (*Cluster) BuildSidecarProcess ¶ added in v0.1.2
func (*Cluster) CalculateMaxUnavailable ¶ added in v1.0.7
func (*Cluster) CheckClusterPorts ¶
func (*Cluster) CleanDeadLogs ¶ added in v0.1.3
func (*Cluster) CleanupFiles ¶ added in v0.2.0
func (*Cluster) CleanupNodes ¶ added in v0.2.0
func (*Cluster) DeployControlPlane ¶
func (*Cluster) DeployEncryptionProviderFile ¶ added in v1.0.0
func (*Cluster) DeployRestoreCerts ¶ added in v0.2.0
func (*Cluster) DeployStateFile ¶ added in v1.1.5
func (*Cluster) DeployWorkerPlane ¶
func (*Cluster) DisableSecretsEncryption ¶ added in v1.0.0
func (*Cluster) GetClusterState ¶
func (*Cluster) GetHostInfoMap ¶ added in v0.2.0
func (*Cluster) GetKubernetesServicesOptions ¶ added in v0.1.6
func (c *Cluster) GetKubernetesServicesOptions(osType string, data map[string]*v3.KubernetesServicesOptions) (v3.KubernetesServicesOptions, error)
func (*Cluster) GetStateFileFromSnapshot ¶ added in v1.1.5
func (*Cluster) InvertIndexHosts ¶
func (*Cluster) IsEncryptionCustomConfig ¶ added in v1.0.0
func (*Cluster) IsEncryptionEnabled ¶ added in v1.0.0
func (*Cluster) IsKubeletGenerateServingCertificateEnabled ¶ added in v1.0.0
func (*Cluster) PrePullK8sImages ¶ added in v0.1.1
func (*Cluster) PrepareBackup ¶ added in v0.2.0
func (*Cluster) ReconcileDesiredStateEncryptionConfig ¶ added in v1.0.0
func (c *Cluster) ReconcileDesiredStateEncryptionConfig(ctx context.Context, fullState *FullState) error
ReconcileDesiredStateEncryptionConfig We do the rotation outside of the cluster reconcile logic. When we are done, DesiredState needs to be updated to reflect the "new" configuration
func (*Cluster) RemoveEtcdSnapshot ¶ added in v0.2.3
func (*Cluster) RemoveOldNodes ¶ added in v0.2.0
func (*Cluster) RestoreEtcdSnapshot ¶ added in v0.1.7
func (*Cluster) RewriteSecrets ¶ added in v1.0.0
func (*Cluster) RotateEncryptionKey ¶ added in v1.0.0
func (*Cluster) SetUpHosts ¶
func (c *Cluster) SetUpHosts(ctx context.Context, flags ExternalFlags) error
func (*Cluster) SetupDialers ¶ added in v0.2.0
func (*Cluster) SnapshotEtcd ¶ added in v0.1.7
func (*Cluster) StoreAddonConfigMap ¶
func (*Cluster) SyncLabelsAndTaints ¶ added in v0.1.1
func (*Cluster) TunnelHosts ¶
func (c *Cluster) TunnelHosts(ctx context.Context, flags ExternalFlags) error
func (*Cluster) UpdateClusterCurrentState ¶ added in v0.2.0
func (*Cluster) UpgradeControlPlane ¶ added in v1.0.7
func (c *Cluster) UpgradeControlPlane(ctx context.Context, kubeClient *kubernetes.Clientset, cpNodePlanMap map[string]v3.RKEConfigNodePlan) (string, error)
func (*Cluster) UpgradeWorkerPlane ¶ added in v1.0.7
type CoreDNSOptions ¶ added in v0.2.0
type ExternalFlags ¶ added in v0.2.0
type ExternalFlags struct { CertificateDir string ClusterFilePath string DinD bool ConfigDir string CustomCerts bool DisablePortCheck bool GenerateCSR bool Local bool UpdateOnly bool UseLocalState bool }
func GetExternalFlags ¶ added in v0.2.0
func GetExternalFlags(local, updateOnly, disablePortCheck, useLocalState bool, configDir, clusterFilePath string) ExternalFlags
type FullState ¶ added in v0.2.0
type FullState struct { DesiredState State `json:"desiredState,omitempty"` CurrentState State `json:"currentState,omitempty"` }
func ReadStateFile ¶ added in v0.2.0
func RebuildState ¶ added in v0.2.0
func StringToFullState ¶ added in v1.1.5
type KubeDNSOptions ¶ added in v0.2.0
type KubeDNSOptions struct { RBACConfig string KubeDNSImage string DNSMasqImage string KubeDNSAutoScalerImage string KubeDNSSidecarImage string ClusterDomain string ClusterDNSServer string ReverseCIDRs []string UpstreamNameservers []string StubDomains map[string][]string NodeSelector map[string]string UpdateStrategy *appsv1.DeploymentStrategy LinearAutoscalerParams string }
type MetricsServerOptions ¶ added in v0.1.9
type NodelocalOptions ¶ added in v1.0.7
type State ¶ added in v0.2.0
type State struct { RancherKubernetesEngineConfig *v3.RancherKubernetesEngineConfig `json:"rkeConfig,omitempty"` CertificatesBundle map[string]pki.CertificatePKI `json:"certificatesBundle,omitempty"` EncryptionConfig string `json:"encryptionConfig,omitempty"` }
Click to show internal directories.
Click to hide internal directories.