class Kubernetes::Installer

Included Modules

Defined in:

kubernetes/installer.cr

Constant Summary

CLOUD_INIT_WAIT_SCRIPT = {{ read_file("/srv/crystaldoc.info/github-vitobotta-hetzner-k3s-v2.0.9/src/kubernetes/../../templates/cloud_init_wait_script.sh") }}
MASTER_INSTALL_SCRIPT = {{ read_file("/srv/crystaldoc.info/github-vitobotta-hetzner-k3s-v2.0.9/src/kubernetes/../../templates/master_install_script.sh") }}
WORKER_INSTALL_SCRIPT = {{ read_file("/srv/crystaldoc.info/github-vitobotta-hetzner-k3s-v2.0.9/src/kubernetes/../../templates/worker_install_script.sh") }}

Constructors

Instance Method Summary

Instance methods inherited from module Util::Shell

run_shell_command(command : String, kubeconfig_path : String, hetzner_token : String, error_message : String = "", abort_on_error = true, log_prefix = "", print_output : Bool = true) : CommandResult run_shell_command

Instance methods inherited from module Kubernetes::Util

api_server_ready?(kubeconfig_path) api_server_ready?, apply_kubectl_command(command, error_message = "") apply_kubectl_command, apply_manifest_from_url(url) apply_manifest_from_url, apply_manifest_from_yaml(yaml) apply_manifest_from_yaml, ensure_kubectl_is_installed! ensure_kubectl_is_installed!, fetch_manifest(url) fetch_manifest, kubernetes_component_args_list(settings_group, setting) kubernetes_component_args_list, port_open?(ip, port, timeout = 1.0) port_open?

Instance methods inherited from module Util::Shell

run_shell_command(command : String, kubeconfig_path : String, hetzner_token : String, error_message : String = "", abort_on_error = true, log_prefix = "", print_output : Bool = true) : CommandResult run_shell_command

Instance methods inherited from module Util

default_log_prefix default_log_prefix, log_line(line, log_prefix = "") log_line, which(command) which

Constructor Detail

def self.new(configuration : Configuration::Loader, ssh : Util::SSH, autoscaling_worker_node_pools : Array(Configuration::NodePool)) #

[View source]

Instance Method Detail

def autoscaling_worker_node_pools : Array(Configuration::NodePool) #

[View source]
def configuration : Configuration::Loader #

[View source]
def load_balancer : Hetzner::LoadBalancer | Nil #

[View source]
def masters : Array(Hetzner::Instance) #

[View source]
def run(masters_installation_queue_channel, workers_installation_queue_channel, completed_channel, master_count, worker_count) #

[View source]
def settings : Configuration::Main #

[View source]
def ssh : Util::SSH #

[View source]
def workers : Array(Hetzner::Instance) #

[View source]