tke

module
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2021 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 8 more

README

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.5.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.

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, the go get will be failed as below, please add replace section to your go.mod to fix it

go: tkestack.io/tke upgrade => v1.5.1
go get: tkestack.io/tke@v1.5.1 requires
        github.com/chartmuseum/storage@v0.8.0 requires
        github.com/NetEase-Object-Storage/nos-golang-sdk@v0.0.0-00010101000000-000000000000: invalid version: unknown revision 000000000000
replace (
	github.com/chartmuseum/storage => github.com/choujimmy/storage v0.0.0-20200507092433-6aea2df34764
)

If you refer to this repo and get run failed messages as below, it's caused by the etcd issue #11931, just replace the grpc version to v1.26.0 in the go.mod to fix it

# go.etcd.io/etcd/clientv3/balancer/resolver/endpoint
../../../../../../go/pkg/mod/go.etcd.io/etcd@v0.5.0-alpha.5.0.20200401174654-e694b7bb0875/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption
../../../../../../go/pkg/mod/go.etcd.io/etcd@v0.5.0-alpha.5.0.20200401174654-e694b7bb0875/clientv3/balancer/resolver/endpoint/endpoint.go:182:31: undefined: resolver.ResolveNowOption
# go.etcd.io/etcd/clientv3/balancer/picker
../../../../../../go/pkg/mod/go.etcd.io/etcd@v0.5.0-alpha.5.0.20200401174654-e694b7bb0875/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions
../../../../../../go/pkg/mod/go.etcd.io/etcd@v0.5.0-alpha.5.0.20200401174654-e694b7bb0875/clientv3/balancer/picker/roundrobin_balanced.go:55:54: undefined: balancer.PickOptions
replace (
	google.golang.org/grpc => google.golang.org/grpc v1.26.0
)

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.

Directories

Path Synopsis
api
application
Package application is the internal version of the API.
Package application is the internal version of the API.
application/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
auth
Package auth is the internal version of the API.
Package auth is the internal version of the API.
auth/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
business
Package business is the internal version of the API.
Package business is the internal version of the API.
business/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
client/clientset/internalversion
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/internalversion/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/internalversion/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/internalversion/typed/application/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/application/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/internalversion/typed/auth/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/auth/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/internalversion/typed/business/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/business/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/internalversion/typed/logagent/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/logagent/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/internalversion/typed/mesh/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/mesh/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/internalversion/typed/monitor/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/monitor/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/internalversion/typed/notify/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/notify/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/internalversion/typed/platform/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/platform/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/internalversion/typed/registry/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/internalversion/typed/registry/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/application/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/application/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/auth/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/auth/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/business/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/business/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/logagent/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/logagent/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/mesh/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/mesh/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/monitor/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/monitor/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/notify/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/notify/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/platform/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/platform/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/registry/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/registry/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
logagent
Package logagent is the internal version of the API.
Package logagent is the internal version of the API.
logagent/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
mesh
Package mesh is the internal version of the API.
Package mesh is the internal version of the API.
mesh/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
monitor
Package monitor is the internal version of the API.
Package monitor is the internal version of the API.
monitor/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
notify
Package notify is the internal version of the API.
Package notify is the internal version of the API.
notify/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
platform
Package platform is the internal version of the API.
Package platform is the internal version of the API.
platform/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
registry
Package registry is the internal version of the API.
Package registry is the internal version of the API.
registry/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
cmd
pkg
apiserver/authorization/abac
Package abac authorizes Kubernetes API actions using an Attribute-based access control scheme.
Package abac authorizes Kubernetes API actions using an Attribute-based access control scheme.
app
audit/apis/config
Package config is the internal version of the API.
Package config is the internal version of the API.
audit/apis/config/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
gateway/apis/config
Package config is the internal version of the API.
Package config is the internal version of the API.
gateway/apis/config/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
mesh/apis/config
Package config is the internal version of the API.
Package config is the internal version of the API.
mesh/apis/config/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
monitor/apis/config
Package config is the internal version of the API.
Package config is the internal version of the API.
monitor/apis/config/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
platform/provider/baremetal/apis/kubeadm/v1beta2
Package v1beta2 defines the v1beta2 version of the kubeadm configuration file format.
Package v1beta2 defines the v1beta2 version of the kubeadm configuration file format.
registry/apis/config
Package config is the internal version of the API.
Package config is the internal version of the API.
registry/apis/config/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
registry/harbor/client
* Harbor API * * These APIs provide services for manipulating Harbor project.
* Harbor API * * These APIs provide services for manipulating Harbor project.
registry/harbor/helmClient
* Harbor API * * These APIs provide services for manipulating Harbor project.
* Harbor API * * These APIs provide services for manipulating Harbor project.
test
e2e
tke

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL