Kubernetes on bare-metal “batteries included“ with k8s-tew

This may of course include your linux VM on your machine …k8s-tew is a single binary written in GO, with no external dependency, that will easily deploy a Kubernetes cluster over bare-metal (understand : no cloud provider required) even for a single node test-bench for your POCs.

k8s-tew logok8s-tew will deploy :HA or non-HA cluster setup that passes all CNCF conformance tests (Kubernetes 1.

10, 1.

11, 1.

12 & 1.

13)Container Management: ContainerdNetworking: CalicoIngress: NGINX Ingress and cert-manager for Let’s EncryptStorage: Ceph/RBDMetrics: metering-metrics and HeapsterMonitoring: Prometheus and GrafanaLogging: Fluent-Bit, Elasticsearch, Kibana and CerebroBackups: Ark, Restic and MinioController Load Balancing: gobetweenPackage Manager: HelmDashboard: Kubernetes DashboardWordPress and MySQL to test drive the installationEven if k8s-tew is able to deploy HA clusters on multiple nodes, one interesting feature is to enable the deployment of a full feature cluster on single node, facilitating kubernetes self-training.

The quickstart section of the documentation is all about single node setup, and it is pretty simple :# Switch to user rootsudo su -# Download Binarywget https://github.

com/darxkies/k8s-tew/releases/download/2.

2.

4/k8s-tewchmod a+x k8s-tew# Everything is installed relative to the root directoryexport K8S_TEW_BASE_DIRECTORY=/# Create cluster data.

/k8s-tew initialize.

/k8s-tew node-add -s # Only on Ubuntu 18.

04 :.

/k8s-tew configure –resolv-conf=/run/systemd/resolve/resolv.

conf# Prepare cluster.

/k8s-tew generate# Activate and start servicesystemctl daemon-reloadsystemctl enable k8s-tewsystemctl start k8s-tewYou can then download your kubeconfig file in :/etc/k8s-tew/k8s/kubeconfig/admin.

kubeconfig… and after a few minutes (time taken to let Kubernetes converge to required state with all application set-up) you can enjoy your Kubernetes cluster :# List of PODs by namespaceNAMESPACE NAMEbackup ark-7bbcb7ff9b-t6jq5backup minio-85974b6ff-d8b58backup restic-rzfghdefault elasticsearch-operator-sysctl-6tzfhkube-system coredns-74c648b76d-hf724kube-system coredns-74c648b76d-rczxkkube-system etcd-lab1kube-system gobetween-lab1kube-system heapster-heapster-849c47d8c9-wxznkkube-system kube-apiserver-lab1kube-system kube-controller-manager-lab1kube-system kube-proxy-lab1kube-system kube-scheduler-lab1kube-system kubernetes-dashboard-565db58d47-4v46wkube-system tiller-deploy-c8bfd74c4-525mclogging cerebro-elasticsearch-cluster-7785948b9d-85dd9logging elasticsearch-operator-5c597554d4-v5dprlogging es-client-elasticsearch-cluster-cb795d4b8-g6f9xlogging es-data-elasticsearch-cluster-default-0logging es-master-elasticsearch-cluster-default-0logging fluent-bit-2d4nklogging kibana-elasticsearch-cluster-7fb7f88f55-5fk65monitoring alertmanager-kube-prometheus-0monitoring kube-prometheus-exporter-kube-state-6599774694-tkznbmonitoring kube-prometheus-exporter-node-kx75dmonitoring kube-prometheus-grafana-6cc9c9c96b-ntk2rmonitoring metrics-server-5df85b997d-qwp5smonitoring prometheus-kube-prometheus-0monitoring prometheus-operator-7d9844f964-gx7mhnetworking calico-node-v6v6xnetworking cert-manager-58898b5d55-246mpnetworking metallb-controller-7444c5f7b5-5kthmnetworking metallb-speaker-pfrbpnetworking nginx-ingress-controller-v8nndnetworking nginx-ingress-default-backend-7b84c755cc-88ncbshowcase mysql-54d86bc8d-4vlsbshowcase wordpress-65779ff967-sz8dcstorage ceph-mds-lab1-688dc7dcd-549txstorage ceph-mgr-6fc4d984cd-k9hs2storage ceph-mon-lab1-6db48dc68d-vcpvnstorage ceph-osd-lab1-5d8c7dc6bc-9548rstorage ceph-rgw-6fcb67fd78-vlwg2storage csi-cephfsplugin-attacher-0storage csi-cephfsplugin-gdjvgstorage csi-cephfsplugin-provisioner-0storage csi-rbdplugin-attacher-0storage csi-rbdplugin-provisioner-0storage csi-rbdplugin-vwr75You can then access:Wordpress showcase : http://[node-ip]:30100Minio UI : http://[node-ip]:30800Grafana UI : http://[node-ip]:30900Kibana UI : https://[node-ip]:30980Cerebro UI : http://[node-ip]:30990Ceph UI : https://[node-ip]:30700Subjective point of view :I think k8s-tew is a very good tool for playing with Kubernetes and managing “day two” and not just k8s raw setup.

But I would not recommend using k8s-tew in production because this project has only been maintained by one person so far (Darx Kies / https://github.

com/darxkies, many many thanks to him for providing this to the community) who started this project in June 2018.

This project really deserves to be supported by many more people.

Discover k8s-tew by yourself on https://darxkies.

github.

io/k8s-tew/Edit : For more setup options, see : https://github.

com/darxkies/k8s-tew/tree/master/setup.

. More details

Leave a Reply