{"id":13509931,"url":"https://github.com/kubernauts/tk8","last_synced_at":"2025-07-10T07:06:46.293Z","repository":{"id":45812147,"uuid":"123287893","full_name":"kubernauts/tk8","owner":"kubernauts","description":"CLI to deploy Kubernetes with RKE, EKS or Kubeadm and deploy additional addons","archived":false,"fork":false,"pushed_at":"2019-10-24T11:27:32.000Z","size":26463,"stargazers_count":265,"open_issues_count":6,"forks_count":46,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-12-19T19:32:14.761Z","etag":null,"topics":["aws","deploy-kubernetes","golang","kubernetes-installation","openstack"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubernauts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-28T13:21:26.000Z","updated_at":"2024-10-07T10:41:48.000Z","dependencies_parsed_at":"2022-07-18T22:01:11.947Z","dependency_job_id":null,"html_url":"https://github.com/kubernauts/tk8","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernauts%2Ftk8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernauts%2Ftk8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernauts%2Ftk8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernauts%2Ftk8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubernauts","download_url":"https://codeload.github.com/kubernauts/tk8/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246338555,"owners_count":20761402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","deploy-kubernetes","golang","kubernetes-installation","openstack"],"created_at":"2024-08-01T02:01:17.579Z","updated_at":"2025-03-30T15:30:21.216Z","avatar_url":"https://github.com/kubernauts.png","language":"Go","readme":"![Logo](docs/images/tk8.png)\n\n# TK8: A multi-cloud, multi-cluster Kubernetes platform installation and integration tool\n\nTK8 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.\n\nThese 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.\n\n## Table of contents\n\nThe documentation as well as a detailed table of contents can be found here.\n\n* [Table of content](docs/en/SUMMARY.md)\n\n## Installation\n\nThe TK8 CLI requires some dependencies to perform its tasks.\nAt the moment we still need your help here, but we are working on a setup script that will do these tasks for you.\n\n### Terraform\n\nTerraform is required to automatically set up the infrastructure in the desired environment.\n[Terraform Installation](https://www.terraform.io/intro/getting-started/install.html)\n\n### Ansible\n\nAnsible is required to run the automated installation routines in the desired and created environment.\n[Ansible Installation](https://docs.ansible.com/ansible/2.5/installation_guide/intro_installation.html#installing-the-control-machine)\n\n### Kubectl\n\nKubectl is needed by the CLI to roll out the add-ons and by you to access your clusters.\n[Kubectl Installation](https://kubernetes.io/docs/tasks/tools/install-kubectl/)\n\n### Python and pip\n\nIn the automated routines Python scripts are used which uses Pip to load its dependencies.\n[Python Installation](https://www.python.org/downloads/)\n[pip Installation](https://pip.pypa.io/en/stable/installing/)\n\n### AWS IAM Authenticator\n\nIf you want to install an EKS cluster with TK8, the [AWS IAM Authenticator](https://github.com/kubernetes-sigs/aws-iam-authenticator) needs to be available on your system and must be executable `(chmod +x \u003cpath-to-binary\u003e)`. 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.\n\n## Usage\n\nWe have described the different target platforms separately in detail in the documentation. But we would like to give you just one example using AWS.\n\nYou can get the binary in following ways:\n* Download the executable file for your operating system from the [release section](https://github.com/kubernauts/tk8/releases).\n* Use `go get -u github.com/kubernauts/tk8` to let `go` fetch the repo along with its dependencies and build the executable for you.\n* Build your own version using the `go build` command.\n\nCreate 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](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.\n\n`export AWS_SECRET_ACCESS_KEY=xxx`\n`export AWS_ACCESS_KEY_ID=xxx`\n\nThen execute the CLI with the command:\n`tk8 cluster install aws`\n\nWith this command the TK8 CLI will create all of the required resources in AWS and installs Kubernetes on it.\n\nIf you no longer need the cluster, you can use the command:\n`tk8 cluster destroy aws`\nto automatically remove all of the resources.\n\n## Add-Ons\n\nYou might want to check out our numerous add-ons for TK8: \n\n- [SonarQube](https://github.com/kubernauts/tk8-addon-sonarqube)\n- [GoCD](https://github.com/kubernauts/tk8-addon-gocd)\n- [Elasticsearch-Fluentd-Kibana](https://github.com/kubernauts/tk8-addon-efk)\n- [Pumba](https://github.com/kubernauts/tk8-addon-pumba)\n- [Heptio Contour](https://github.com/kubernauts/tk8-addon-contour)\n- [Traefik](https://github.com/kubernauts/tk8-addon-traefik)\n- [Argo CD](https://github.com/kubernauts/tk8-addon-argocd)\n- [Ambassador](https://github.com/kubernauts/tk8-addon-ambassador)\n- [CoreOS-Kube-Prometheus Stack](https://github.com/kubernauts/tk8-addon-kube-prometheus)\n- [Velero Minio](https://github.com/kubernauts/tk8-addon-velero-minio)\n- [CoreOS Vault operator](https://github.com/kubernauts/tk8-addon-vault-operator)\n- [Rancher](https://github.com/kubernauts/tk8-addon-rancher)\n\n(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!)\n\nStay 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\n\n## Contributing\n\nFor provisioning the add-ons we have a separate [documentation](docs/en/add-on/introduction.md) and [examples](https://github.com/kubernauts/tk8-addon-develop) how you can build your extensions and integrate them into the TK8 project. You can also reach us at Slack.\n\nFor a platform provider we have a separate [documentation](docs/en/add-on/development.md) 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.\n\nTo join the community and participate in the discussions going around, you can create an issue or get in touch with us in Slack.\n\n[Join us on Kubernauts Slack Channel](https://kubernauts-slack-join.herokuapp.com/)\n\n## Credits\n\nFounder and initiator of this project is [Arash Kaffamanesh](https://github.com/arashkaffamanesh) Founder and CEO of [Clouds Sky GmbH](https://cloudssky.com/de/) and [Kubernauts GmbH](https://kubernauts.de/en/home/)\n\nThe project is supported by cloud computing experts from cloudssky GmbH and Kubernauts GmbH.\n[Christopher Adigun](https://github.com/infinitydon),\n[Arush Salil](https://github.com/arush-sal),\n[Manuel Müller](https://github.com/MuellerMH),\n[Nikita](https://github.com/niki-1905),\n[Anoop](https://github.com/anoopl)\n\nA big thanks goes to the contributors of [Kubespray](https://github.com/kubernetes-incubator/kubespray) whose great work we use as a basis for the setup and installation of Kubernetes in the AWS Cloud.\n\nFurthermore we would like to thank the contributors of [kubeadm](https://github.com/kubernetes/kubernetes/tree/master/cmd/kubeadm) which is currently not only part of the Kubespray project, but also of the TK8.\n\nAlso a big thank you to [Wesley Charles Blake](https://github.com/WesleyCharlesBlake), on the basis of which we were able to offer our EKS integration.\n\n## License\n\n[Tk8 Apache License](LICENSE)\n[MIT License EKS](https://github.com/kubernauts/tk8eks/blob/master/LICENSE-Wesley-Charles-Blake)\n[MIT License EKS](https://github.com/kubernauts/tk8eks/blob/master/LICENSE)\n","funding_links":[],"categories":["Go","aws"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernauts%2Ftk8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubernauts%2Ftk8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernauts%2Ftk8/lists"}