Package: kubemarine
KubemarineKubemarine is an open source, lightweight and powerful management tool built for end-to-end Kubernetes cluster deployment and maintenance. It is applicable for many purposes like simple and quick onboarding Kubernetes on local and production environments in different HA schemes depending on your aims, budget, and capabilities. Together with simplicity, Kubemarine can be a very flexible and customizable tool covering specific configurability cases on both deployment and maintenance stages. This library provides powerful CLI commands, as well as can be customized using a Python extension API.HighlightsEasy to useMany procedures supported following thegeneric maintenance approach:installadd_noderemove_nodeupgradebackuprestorereconfigurecheck_iaascheck_paasmigrate_kubemarinemanage_pspmanage_psscert_renewmigrate_criSingle cluster inventoryfor all operations, highly customizableDefault values of all parameters in configurations with a minimum of required parametersControl planes balancingwith external balancers and VRRPAbility toresume or skip specific taskwithout re-running entire pipelinePre-built pluginsout of the box andcustom pluginssupportSupport forexecuting in closed environmentswith private registriesExtendedlogging, configsdumpingBuild supported as a package, container, and binaryPackage extension withopen extension APISupport different deployment schemes (all-in-one, mini-HA, HA, and so on)Kubemarine Binary InstallationProceed the following steps to install Kubemarine  on your environment:Download the binary file for your system from the latestreleaseMove binary kubemarine to a separate folderNow you can proceed to run Kubemarine! Try the following:kubemarinehelpKubemarine Package InstallationTo install Kubemarine as package on your environment:Install the latestpython.Upgrade pip.Linux / MacOS:python3-mpipinstall--upgradepipWindows:python-mpipinstall--upgradepipEnsure your environment meets theDeployment Node Prerequisites.Create and activate avirtual environmentif necessary.Install Kubemarine package.Linux / MacOS:python3-mpipinstallkubemarineWindows:python-mpipinstallkubemarineNow you can proceed to run Kubemarine! Try the following:kubemarinehelpKubemarine Installation from SourcesInstallation of Kubemarine from sources is mostly similar toKubemarine Package Installation.
The exception is instead of installing the package fromPyPI, do the following:Download the latest releaseor clone the repository:gitclonehttps://github.com/netcracker/kubemarine.gitUnpack the project from the archive if required:tarxzvfX.X.X.tar.gzNavigate to the project directory:cdkubemarineInstall Kubemarine package from sources.Linux / MacOS:python3-mpipinstall-e.[ansible]Windows:python-mpipinstall-e.Now you can proceed to run Kubemarine. Try the following:kubemarinehelpNote: Building fromDockerfileis also available.Note:Kubemarine debugging available viakubemarine/__main__.py.Running Cluster InstallationTo install a Kubernetes cluster using Kubemarine:Prepare your VMs or bare-metal machines according toRecommended Hardware Requirementsand the selectedDeployment Scheme. Make sure the nodes meetCluster Nodes Prerequisites.Create thecluster.yamlinventory file, and describe your environment. Make sure that all configurations are done. For more information, seeinventory configs availableandexamples. No need to enter all the parameters that are available, it is enough to specify the minimal identification data about the nodes where you want to install the cluster, for example:node_defaults:keyfile:"/home/username/.ssh/id_rsa"password:'{{env.PASS}}'#Either keyfile or password can be used.username:"centos"vrrp_ips:-192.168.0.250nodes:-name:"k8s-control-plane-1"internal_address:"10.101.0.1"roles:["balancer","control-plane","worker"]-name:"k8s-control-plane-2"internal_address:"10.101.0.2"roles:["balancer","control-plane","worker"]-name:"k8s-control-plane-3"internal_address:"10.101.0.3"roles:["balancer","control-plane","worker"]cluster_name:"k8s.example.com"Movecluster.yamlto the directory where Kubemarine is installed.Verify the infrastructure:kubemarinecheck_iaasStart the installation:kubemarineinstallCheck the health of the newly installed cluster:kubemarinecheck_paasFor more information, refer to the otherKubemarine guides.Kubemarine Docker InstallationTo start, download the Kubmarine imagedocker pull ghcr.io/netcracker/kubemarine:mainRun Kubemarine from the container, for example:docker run -it --mount type=bind,source=/root/cluster.yaml,target=/opt/kubemarine/cluster.yaml --mount type=bind,source=/root/rsa_key,target=/opt/kubemarine/rsa_key kubemarine install -c /opt/kubemarine/cluster.yamlNote: Do not forget to pass the inventory file and connection key inside the container.
For more execution details, refer to"Installation of Kubernetes using CLI" guide on Github.DocumentationThe following documents and tutorials are available:InstallationMaintenanceTroubleshootingKubecheckLoggingAlso, check out the following inventory examples:cluster.yamlprocedure.yamlIssues, QuestionsIf you have any problems while working with Kubemarine, feel free to open anew issueor evenPRwith related changes.
Please follow theContribution Guideand the process outlined in the Stack OverflowMCVEdocument.In case of security concerns, please follow theSecurity Reporting ProcessChangelogDetailed changes for each release are documented in therelease notes.LicenseApache License 2.0