/tke

Native Kubernetes container management platform supporting multi-tenant and multi-cluster

Primary LanguageGoOtherNOASSERTION

TKEStack - Tencent Kubernetes Engine Stack

TKEStack Logo build-web Go Report Card Release

Chinese document:https://tkestack.github.io/docs/

TKEStack is an open source project that provides a container management platform built for organizations that deploy containers in production. TKEStack makes it easy to run Kubernetes everywhere, meet IT requirements, and empower DevOps teams.

Features

  • Unified Cluster Management
    • Web console and command-line client for centrally manages multiple Kubernetes clusters.
    • Integration with your existing authentication mechanisms, including LDAP, OIDC, front proxy, and public OAuth providers such as GitHub.
    • Unified authorization management, not only at the cluster management level, but even at the Kubernetes resource level.
    • Multi-tenancy support, including team and user isolation of containers, builds, and network communication.
  • Application Workload Management
    • Provides an intuitive UI interface to support visualization and YAML import and other resource creation and editing methods, enabling users to run containers without learning all Kubernetes concepts up-front.
    • An abstract project-level resource container that supports multiple namespace management and deployment applications across multiple clusters.
  • Operation And Maintenance Management
    • Integrated system monitoring and application monitoring.
    • Persistent Kubernetes events and audit logs.
    • Limit, track, and manage the developers and teams on the platform.
  • Plugin Support And Management
    • Authentication identity provider plugin.
    • Authorization provider plugin.
    • Event persistence storage plugin.
    • System and application log persistence storage plugin.
    • Galaxy(Network)、TApp(Workload)、GPUManage(GPU)、CronHPA(HPA)、LBCF(LoadBalance)

Architecture

Architecture Of TKE

Installation

Minimum Requirements

  • Hardware
    • 8 vCPU
    • 16 GB of Memory
    • 100 GB of Disk Space
  • Operating Systems
    • ≥ Ubuntu 16.04/18.04 LTS (64-bit)
    • ≥ CentOS Linux 7.6 (64-bit)
    • ≥ Tencent Linux 2.2

QuickStart

  1. Check Requirements: Please confirm the installation requirements.

  2. Configure Installer: Please execute the following command in the terminal of your installer node.

    # Choose installation package according to your installation node CPU architecture [amd64, arm64]
    arch=amd64 version=v1.9.0 && wget https://tke-release-1251707795.cos.ap-guangzhou.myqcloud.com/tke-installer-linux-$arch-$version.run{,.sha256} && sha256sum --check --status tke-installer-linux-$arch-$version.run.sha256 && chmod +x tke-installer-linux-$arch-$version.run && ./tke-installer-linux-$arch-$version.run
  3. Configure Console & Global Cluster: Open your browser to http://【INSTALLER-NODE-IP】:8080/index.html, the Web GUI will guide you to initialize and install the TKEStack's Global Cluster and Console. You can refer to installation-procedures for more information.

  4. Enjoy TKEStack: Open your browser to http://console.tke.com.

TKEStack use tke-installer tool to deploy. Please refer to tke-installer for more information.

If you encounter problems during installation, you can refer to FAQ installation.

Upgrade

If you want to upgrade your TKEStack, please check Upgrade TKEStack with tke-installer.

Using

TKEStack Documentation

Developing

If you are interested in contributing to the TKEStack, please check the CONTRIBUTING.md first.

Make sure that you have Git-LFS installed before developing TKEStack.

If you have an eligible development environment, you can simply do it:

mkdir -p ~/tkestack
cd ~/tkestack
git clone https://github.com/tkestack/tke
cd tke
make

If you want to refer to this repo for code integration, please add replace section to your go.mod:

replace (
	github.com/NetEase-Object-Storage/nos-golang-sdk => github.com/karuppiah7890/nos-golang-sdk v0.0.0-20191116042345-0792ba35abcc
	github.com/chartmuseum/storage => github.com/leoryu/chartmuseum-storage v0.11.1-0.20211104032734-9da39e8f5170
	github.com/deislabs/oras => github.com/deislabs/oras v0.8.0
	google.golang.org/grpc => google.golang.org/grpc v1.38.0
	k8s.io/apiserver => github.com/leoryu/k8s-apiserver v0.22.4-0.20211110063743-0341ac1e5801
	k8s.io/client-go => k8s.io/client-go v0.22.3
)

For the full story, head over to the developer's documentation.

Community

Licensing

TKEStack is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.