Flexkube https://flexkube.github.io/ Recent content on Flexkube Hugo -- gohugo.io en-us https://flexkube.github.io/documentation/concepts/managing-certificates/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/concepts/managing-certificates/ https://flexkube.github.io/documentation/concepts/managing-containers/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/concepts/managing-containers/ Managing containers This document should explain how libflexkube manages the containers. https://flexkube.github.io/documentation/concepts/self-hosted-kubernetes-controlplane/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/concepts/self-hosted-kubernetes-controlplane/ Self-hosted Kubernetes controlplane This document should describe why Flexkube uses and recommends using self-hosted Kubernetes controlplane, how it works etc. https://flexkube.github.io/documentation/concepts/supported-container-runtimes/docker/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/concepts/supported-container-runtimes/docker/ https://flexkube.github.io/documentation/concepts/supported-transport-protocols/direct/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/concepts/supported-transport-protocols/direct/ Direct transport protocol This document should explain how direct transport protocol works. https://flexkube.github.io/documentation/concepts/supported-transport-protocols/ssh/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/concepts/supported-transport-protocols/ssh/ SSH transport protocol This document should explain how SSH transport protocol works. https://flexkube.github.io/documentation/getting-started/installing/cli/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/getting-started/installing/cli/ Flexkube CLI Download the pre-built binary The easiest way to get Flexkube CLI is to use one of the pre-built release binaries which are available for macOS and Linux. See Github Releases page to find the latest available release. For example, to download version v0.4.0 on Linux, execute the following command: VERSION=v0.4.0 It will download the flexkube binary into your current directory. It is recommende to move this binary into one of directories mentioned in your $PATH environment variable, e. https://flexkube.github.io/documentation/getting-started/installing/go/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/getting-started/installing/go/ Go module Recommended way of using Flexkube in your Go project is via libflexkube library. libflexkube uses Go modules to manage it’s dependencies, so it is also recommended for your project to use it. To add libflexkube module to your project, simply run the following command: go get github.com/flexkube/libflexkube It will import latest release of libflexkube into your project. With module added, go to Go examples to see how to use it in your code or see reference documentation to see all available packages. https://flexkube.github.io/documentation/getting-started/installing/terraform/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/getting-started/installing/terraform/ Terraform provider Using Terraform 0.13 and Terraform Registry The easiest way to get Flexkube Terraform provider is to pull it from the Terraform Registry. You can do that by adding the following snippet to required_providers block in terraform block in your module configuration: flexkube = { source = "flexkube/flexkube" version = "0.4.0" } So example versions.tf file would look like following: terraform { required_providers { flexkube = { source = "flexkube/flexkube" version = "0. https://flexkube.github.io/documentation/getting-started/requirements/creating-virtual-machines-for-testing/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/getting-started/requirements/creating-virtual-machines-for-testing/ Creating virtual machines for testing If you don’t have a spare machine available for testing, you can create it locally, using VirtualBox and Vagrant. Make sure you have both tools installed by following respective guides: Installing VirtualBox Installing Vagrant Single node If you need just one machine, create file named Vagrantfile with the following content: Vagrant.configure("2") do |config| config.vm.box = "flatcar-stable" config.vm.box_url = "https://stable.release.flatcar-linux.net/amd64-usr/current/flatcar_production_vagrant.box" config.ssh.username = 'core' config.vm.provider :virtualbox do |v| v. https://flexkube.github.io/documentation/guides/etcd/creating-multi-member-cluster-over-ssh-using-terraform/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/guides/etcd/creating-multi-member-cluster-over-ssh-using-terraform/ Creating multi-member cluster over SSH using Terraform This guide describes how to create multi member etcd cluster using Terraform and Flexkube provider. The process is very simple and requires just a few steps. If you have at least 3 members, your cluster will be able to tolerate loss on one member, so it will be highly available. Requirements For this guide, it is required to have at least 2 Linux machines, with Docker daemon installed and running. https://flexkube.github.io/documentation/guides/etcd/creating-single-member-cluster-on-local-machine-using-flexkube-cli/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/guides/etcd/creating-single-member-cluster-on-local-machine-using-flexkube-cli/ Creating single-node etcd cluster on local machine using “flexkube” CLI This guide describes how to create single member etcd cluster using flexkube CLI. It will explain cluster creation process step by step to explain the configuration and provide some insights. For fully automated creation, see Creating single-member etcd cluster on local machine using Terraform. Requirements For this guide, it is required to have one Linux machine, with Docker daemon installed and running. https://flexkube.github.io/documentation/guides/etcd/creating-single-member-cluster-on-local-machine-using-terraform/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/guides/etcd/creating-single-member-cluster-on-local-machine-using-terraform/ Creating single-member cluster on local machine using Terraform This guide describes how to create single member etcd cluster using Terraform and Flexkube provider. The process is very simple and requires just a few steps. For more detailed guide, see Creating single member etcd cluster on local machine using flexkube CLI. Requirements For this guide, it is required to have one Linux machine, with Docker daemon installed and running. It is recommended that machine has at least 1 GB of RAM and is a fresh machine, as in tutorial the tools will write to directories like /var/lib/etcd or /etc/kubernetes without notice. https://flexkube.github.io/documentation/guides/kubernetes/creating-multi-node-cluster-using-terraform/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/guides/kubernetes/creating-multi-node-cluster-using-terraform/ Creating multi-node cluster using Terraform https://flexkube.github.io/documentation/guides/kubernetes/creating-single-node-cluster-on-local-machine-using-flexkube-cli/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/guides/kubernetes/creating-single-node-cluster-on-local-machine-using-flexkube-cli/ Creating single-node cluster on local machine using “flexkube” CLI This guide describes how to create single node Kubernetes cluster using flexkube CLI. It will explain cluster creation process step by step to explain the configuration and provide some insights. For fully automated creation, see Creating single-node Kubernetes cluster on local machine using Terraform. Requirements For this guide, it is required to have one Linux machine, with Docker daemon installed and running. https://flexkube.github.io/documentation/guides/kubernetes/creating-single-node-cluster-on-local-machine-using-terraform/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/guides/kubernetes/creating-single-node-cluster-on-local-machine-using-terraform/ Creating single-member cluster on local machine using Terraform This guide describes how to create single node Kubernetes cluster using Terraform and Flexkube provider. The process is very simple and requires just a few steps. For more detailed guide, see Creating single node Kubernetes cluster on local machine using flexkube CLI. Requirements For this guide, it is required to have one Linux machine, with Docker daemon installed and running. It is recommended that machine has at least 2 GB of RAM and is a fresh machine, as in tutorial the tools will write to directories like /var/lib/etcd, /etc/kubernetes or /var/lib/kubelet without notice. https://flexkube.github.io/documentation/helm-charts/maintained/calico/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/helm-charts/maintained/calico/ https://flexkube.github.io/documentation/helm-charts/maintained/kube-apiserver/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/helm-charts/maintained/kube-apiserver/ https://flexkube.github.io/documentation/helm-charts/maintained/kube-proxy/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/helm-charts/maintained/kube-proxy/ https://flexkube.github.io/documentation/helm-charts/maintained/kubelet-rubber-stamp/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/helm-charts/maintained/kubelet-rubber-stamp/ https://flexkube.github.io/documentation/helm-charts/maintained/kubernetes/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/helm-charts/maintained/kubernetes/ https://flexkube.github.io/documentation/helm-charts/maintained/tls-bootstrapping/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/helm-charts/maintained/tls-bootstrapping/ https://flexkube.github.io/documentation/helm-charts/upstream/stable-coredns/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/helm-charts/upstream/stable-coredns/ https://flexkube.github.io/documentation/helm-charts/upstream/stable-metrics-server/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/helm-charts/upstream/stable-metrics-server/ https://flexkube.github.io/documentation/project-status/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/project-status/ https://flexkube.github.io/documentation/reference/cli/commands/apiloadbalancer-pool/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/commands/apiloadbalancer-pool/ https://flexkube.github.io/documentation/reference/cli/commands/containers/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/commands/containers/ https://flexkube.github.io/documentation/reference/cli/commands/controlplane/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/commands/controlplane/ https://flexkube.github.io/documentation/reference/cli/commands/etcd/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/commands/etcd/ https://flexkube.github.io/documentation/reference/cli/commands/kubeconfig/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/commands/kubeconfig/ https://flexkube.github.io/documentation/reference/cli/commands/kubelet-pool/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/commands/kubelet-pool/ https://flexkube.github.io/documentation/reference/cli/commands/pki/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/commands/pki/ https://flexkube.github.io/documentation/reference/cli/configuration/apiloadbalancer-pool/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/configuration/apiloadbalancer-pool/ https://flexkube.github.io/documentation/reference/cli/configuration/containers/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/configuration/containers/ https://flexkube.github.io/documentation/reference/cli/configuration/controlplane/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/configuration/controlplane/ https://flexkube.github.io/documentation/reference/cli/configuration/etcd/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/configuration/etcd/ https://flexkube.github.io/documentation/reference/cli/configuration/kubelet-pool/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/configuration/kubelet-pool/ kubelet-pool https://flexkube.github.io/documentation/reference/cli/configuration/pki/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/cli/configuration/pki/ https://flexkube.github.io/documentation/reference/helm-charts/calico/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/helm-charts/calico/ https://flexkube.github.io/documentation/reference/helm-charts/kube-apiserver/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/helm-charts/kube-apiserver/ https://flexkube.github.io/documentation/reference/helm-charts/kubelet-rubber-stamp/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/helm-charts/kubelet-rubber-stamp/ https://flexkube.github.io/documentation/reference/helm-charts/kubernetes/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/helm-charts/kubernetes/ https://flexkube.github.io/documentation/reference/helm-charts/tls-bootstrapping/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/reference/helm-charts/tls-bootstrapping/ https://flexkube.github.io/documentation/resources/api-loadbalancer/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/resources/api-loadbalancer/ https://flexkube.github.io/documentation/resources/containers/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/resources/containers/ Containers resource This document should describe when containers resource is useful. https://flexkube.github.io/documentation/resources/controlplane/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/resources/controlplane/ https://flexkube.github.io/documentation/resources/etcd/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/resources/etcd/ etcd https://flexkube.github.io/documentation/resources/kubelet-pool/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/resources/kubelet-pool/ https://flexkube.github.io/documentation/resources/pki/ Mon, 01 Jan 0001 00:00:00 +0000 https://flexkube.github.io/documentation/resources/pki/ PKI PKI (Public Key Infrastructure) resource is responsible for generating all X.509 certificates and RSA key pairs which are required by Kubernetes cluster. Kubernetes requires several certificates to be generated, with specific CNs, different CAs etc, which is difficult to manage, so Flexkube provides configurable and convenient interface to manage them. All certificates are generated by following Kubernetes PKI certificates and requirements best practices. Current implementation of PKI is experimental and only supports generating the certificates.