• Stars
    star
    266
  • Rank 154,103 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CLI to deploy Kubernetes with RKE, EKS or Kubeadm and deploy additional addons

Logo

TK8: A multi-cloud, multi-cluster Kubernetes platform installation and integration tool

TK8 is a command line tool written in Go. It fully automatates the installation of Kubernetes on any environment. With TK8, you are able to centrally manage different Kubernetes clusters with different configurations. In addition, TK8 with its simple add-on integration offers the possibility to quickly, cleanly and easily distribute extensions to the different Kubernetes clusters.

These include a Jmeter cluster for load testing, Prometheus for monitoring, Jaeger, Linkerd or Zippkin for tracing, Ambassador API Gateway with Envoy for Ingress and Load Balancing, Istio as mesh support solution, Jenkins-X for CI/CD integration. In addition, the add-on system also supports the management of Helm packages.

Table of contents

The documentation as well as a detailed table of contents can be found here.

Installation

The TK8 CLI requires some dependencies to perform its tasks. At the moment we still need your help here, but we are working on a setup script that will do these tasks for you.

Terraform

Terraform is required to automatically set up the infrastructure in the desired environment. Terraform Installation

Ansible

Ansible is required to run the automated installation routines in the desired and created environment. Ansible Installation

Kubectl

Kubectl is needed by the CLI to roll out the add-ons and by you to access your clusters. Kubectl Installation

Python and pip

In the automated routines Python scripts are used which uses Pip to load its dependencies. Python Installation pip Installation

AWS IAM Authenticator

If you want to install an EKS cluster with TK8, the AWS IAM Authenticator needs to be available on your system and must be executable (chmod +x <path-to-binary>). It is preffered to have the binary in your $PATH location e.g: (/usr/local/bin). This is included in the provisioner package EKS of the TK8 CLI or can be found in the given link.

Usage

We have described the different target platforms separately in detail in the documentation. But we would like to give you just one example using AWS.

You can get the binary in following ways:

  • Download the executable file for your operating system from the release section.
  • Use go get -u github.com/kubernauts/tk8 to let go fetch the repo along with its dependencies and build the executable for you.
  • Build your own version using the go build command.

Create a separate folder and store the executable binary file there, a configuration file is also required. An example config file is available by the name config.yaml.example. Add the necessary parameters for your cluster along with the AWS API credentials. Alternatively you should export the AWS API credentials in the environment variables because parts of the CLI (EKS cluster) needs them there.

export AWS_SECRET_ACCESS_KEY=xxx export AWS_ACCESS_KEY_ID=xxx

Then execute the CLI with the command: tk8 cluster install aws

With this command the TK8 CLI will create all of the required resources in AWS and installs Kubernetes on it.

If you no longer need the cluster, you can use the command: tk8 cluster destroy aws to automatically remove all of the resources.

Add-Ons

You might want to check out our numerous add-ons for TK8:

(Please note, that the ReadMe's for the bottom two (Vault Operator, Rancher) are not ready yet. We will provide them shortly so you can explore these addons too!)

Stay tuned as there is more to come from our lovely community and ourselfs! You can also develop your own add-ons, just check the passage below

Contributing

For provisioning the add-ons we have a separate documentation and examples how you can build your extensions and integrate them into the TK8 project. You can also reach us at Slack.

For a platform provider we have a separate documentation which is only about integrating a platform in TK8. Here you will find detailed instructions and examples on how TK8 will execute your integration or you can also reach us in slack.

To join the community and participate in the discussions going around, you can create an issue or get in touch with us in Slack.

Join us on Kubernauts Slack Channel

Credits

Founder and initiator of this project is Arash Kaffamanesh Founder and CEO of Clouds Sky GmbH and Kubernauts GmbH

The project is supported by cloud computing experts from cloudssky GmbH and Kubernauts GmbH. Christopher Adigun, Arush Salil, Manuel Müller, Nikita, Anoop

A big thanks goes to the contributors of Kubespray whose great work we use as a basis for the setup and installation of Kubernetes in the AWS Cloud.

Furthermore we would like to thank the contributors of kubeadm which is currently not only part of the Kubespray project, but also of the TK8.

Also a big thank you to Wesley Charles Blake, on the basis of which we were able to offer our EKS integration.

License

Tk8 Apache License MIT License EKS MIT License EKS

More Repositories

1

jmeter-kubernetes

Load testing as a service (LTaaS) with Apache Jmeter on kubernetes
Shell
352
star
2

Kubernetes-Learning-Resources

A collection of Kubernetes learning resources
117
star
3

jmeter-operator

Shell
113
star
4

bonsai

Rancher k3s and Rancher Server on Multipass VMs on your local machine and RKE cluster deployment through Rancher server running on k3s
Shell
66
star
5

parameterizer

The babelfish of Kubernetes app lifecycle management
Go
35
star
6

kubernauts-kubernetes-training-courses

This repo houses the design documents for the Kubernauts training.
29
star
7

kploy

An opinionated Kubernetes deployment system for appops
Python
29
star
8

k8s.info

Kubernetes community resources
HTML
24
star
9

kubernauts-training-plan

Kubernauts training
22
star
10

kafka-confluent-platform

Manifests and Templates for Apache Kafka® Confluent Platform on Kubernetes and OpenShift
Dockerfile
19
star
11

dok-example-us

Developing on Kubernetes—an example microservices app
JavaScript
18
star
12

kubernetes-workshop

This is intended for creating workshops for Kubernetes 101 and 201 and meetups
Shell
14
star
13

aks-terraform-rancher

AKS Deployment Automation with Terraform and Multi-AKS Cluster Management with Rancher, AAD Integration and more
Shell
14
star
14

tk8-provisioner-cattle-aws

TK8 provisioner for using Terraform Provider Rancher2 with TK8
Go
12
star
15

tk8eks

TK8 EKS CLI
HCL
9
star
16

tensorflow

My working example of tensorflow on Kubernetes
7
star
17

k8s-terraform-azure

k8s tf templates for azure
HCL
6
star
18

pyk

A simple, yet useful Kubernetes toolkit in Python
Python
5
star
19

tk8-provisioner-cattle-eks

TK8 provisioner for EKS with Terraform Provider Rancher2
Go
4
star
20

tk8web

TK8 Web Interface
TypeScript
4
star
21

tk8-provisioner-baremetal

Go
3
star
22

tk8-provisioner-aws

Go
3
star
23

tk8-addon-jenkins

Jenkins with Kubernetes plugin for autoscaling slaves
Shell
3
star
24

tk8-provisioner-rke

TK8 Provisioner for RKE
Go
3
star
25

rke-cluster-deploy-cli

Shell
2
star
26

openshift-openstack

Kubernauts’ OpenShift Origin On OpenStack Guide
HCL
2
star
27

tk8ml

A CLI to deploy and run ML workflows using Kubeflow. Strictly WIP - Not suitable for use as of now.
Go
2
star
28

tk8-provisioner-eks

Go
2
star
29

tk8-addon-pumba

TK8 addon for initiating chaos via Pumba
2
star
30

tk8-addon-rancher

tk addon rancher
2
star
31

tk8-provisioner-nutanix

Nutanix provisioner for tk8
HCL
2
star
32

tk8-addon-velero-minio

TK8 add-on for Velero Minio
Shell
2
star
33

prometheus_example

Collection of Prometheus instrumentation examples in various supported languages.
Java
2
star
34

kops_faststart

This repo contains the Kubernauts Kops Faststart.
2
star
35

couchbase-kubernetes-aio

Couchbase Implementation for Kubernetes
Makefile
2
star
36

tk8-addon-develop

Example add on for tk8 cli
1
star
37

triviaquestions

This repo Focuses of Questions and Answers from kubernetes experts.
1
star
38

Kubespray-Essentials

1
star
39

tk8-addon-sonarqube

TK8 addon for sonarqube
Shell
1
star
40

tk8-addon-efk

TK8 addon for installing Elasticsearch-Fluentd-Kibana on the Kubernetes Cluster
Shell
1
star
41

tk8-addon-vault-operator

TK8 addon for installing coreos vault operator
Shell
1
star
42

openshift-in-azure-workshop

Openshift in Azure workshop
1
star
43

presentations

1
star
44

tk8-provisioner-openstack

Go
1
star
45

tk8-addon-argocd

TK8 addon for Argo CD
Shell
1
star