All Projects → TarsCloud → K8STARS

TarsCloud / K8STARS

Licence: BSD-3-Clause license
Native Kubernetes Solution for TARS Services

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to K8STARS

quarkus-micrometer-extension
This is a quarkus extension that performs build time initialization, configuration, and injection of MeterRegistry, MeterBinder, and MeterFilter instances for micrometer.
Stars: ✭ 12 (-78.18%)
Mutual labels:  cloud-native
KubeCube
KubeCube is an open source enterprise-level container platform
Stars: ✭ 355 (+545.45%)
Mutual labels:  cloud-native
assemblylift
The easiest way to build & deploy cloud native microservices! Written in Rust, powered by WebAssembly 🚀
Stars: ✭ 100 (+81.82%)
Mutual labels:  cloud-native
nats-surveyor
NATS Monitoring, Simplified.
Stars: ✭ 150 (+172.73%)
Mutual labels:  cloud-native
site
Enqueue Zero is creating code principles.
Stars: ✭ 64 (+16.36%)
Mutual labels:  cloud-native
devopsish.com
DevOps, Cloud Native, Hybrid Cloud, Open Source, industry news, culture, and the ‘ish between.
Stars: ✭ 33 (-40%)
Mutual labels:  cloud-native
fenix-cli
Interactive Cloud-Native Environment Client
Stars: ✭ 95 (+72.73%)
Mutual labels:  cloud-native
community
Harbor community-related material
Stars: ✭ 65 (+18.18%)
Mutual labels:  cloud-native
cloud-native-hexagonal-node
A cloud native node microservice boilerplate based on the hexagonal architecture
Stars: ✭ 26 (-52.73%)
Mutual labels:  cloud-native
orb
Orb is a dynamic network observability platform
Stars: ✭ 437 (+694.55%)
Mutual labels:  cloud-native
apimachinery
KubeDB API
Stars: ✭ 57 (+3.64%)
Mutual labels:  cloud-native
Blue-Baron
Automate creating resilient, disposable, secure and agile monitoring infrastructure for Blue Teams.
Stars: ✭ 23 (-58.18%)
Mutual labels:  cloud-native
hera-workflows
Hera is an Argo Workflows Python SDK. Hera aims to make workflow construction and submission easy and accessible to everyone! Hera abstracts away workflow setup details while still maintaining a consistent vocabulary with Argo Workflows.
Stars: ✭ 252 (+358.18%)
Mutual labels:  cloud-native
guide-to-cloud-native-app
Guide to Cloud Native Application/云原生应用白皮书 - https://jimmysong.io/guide-to-cloud-native-app
Stars: ✭ 21 (-61.82%)
Mutual labels:  cloud-native
spring-cloud-static
Static resources for the Spring Cloud website
Stars: ✭ 26 (-52.73%)
Mutual labels:  cloud-native
spicedb
Open Source, Google Zanzibar-inspired fine-grained permissions database
Stars: ✭ 3,358 (+6005.45%)
Mutual labels:  cloud-native
cloud-native-notes
☁️ 云原生技术面试必备基础知识
Stars: ✭ 48 (-12.73%)
Mutual labels:  cloud-native
if1007
Desenvolvimento de Aplicações com Arquitetura Baseada em Microservices
Stars: ✭ 78 (+41.82%)
Mutual labels:  cloud-native
monogon
The Monogon Monorepo. May contain traces of peanuts and a ✨pure Go Linux userland✨
Stars: ✭ 54 (-1.82%)
Mutual labels:  cloud-native
kube-green
A K8s operator to reduce CO2 footprint of your clusters
Stars: ✭ 418 (+660%)
Mutual labels:  cloud-native

中文版

K8STARS

K8STARS is a convenient solution to run TARS services in kubernetes.

Characteristics

  • Maintain the native development capability of TARS
  • Automatic registration and configuration deletion of name service for TARS
  • Support smooth migration of original TARS services to K8S and other container platforms
  • Non intrusive design, no coupling relationship with operating environment

How it works

  1. Three interfaces are added in the tarsregistry, which are used for automatic registration, heartbeat reporting and node offline. For details, please refer to interface definition

  2. A 'tarscli' command-line tool is provided to allocate ports, generate configuration, report heartbeat and node offline.

Deployment examples

  1. Deployment tars basic service
curl https://raw.githubusercontent.com/TarsCloud/K8STARS/master/baseserver/install_all.sh | sh
  1. Deployment service example -Deploy sample simpleserver

    cd examples/simple && kubectl apply -f simpleserver.yaml

    Example description:

    • The image is created by the examples/simple/dockerfile file, and the basic image is created by cmd/tarscli/dockerfile
    • start.sh: tarscli genconf in is used to generate the tars service startup configuration
    • server_ meta.yaml The file is used to configure the metadata of the service. For field information, please refer to app/genconf/config.go structure ServerConf . Endpoint defaults to tcp -h ${local_ip} -p ${random_port} , supports automatic filling of IP and random ports. -ased on Golang HelloWorld program TestApp.HelloGo See examples/README.md
  2. Verify the deployment Login db_tars , then execute select * from t_server_conf\G The node information of simpleserver has been registered automatically.

Tars deployment directory structure

tarscli based on environment variable TARS_PATH(default/tars) to manage services. The directory functions are as follows:

  • ${TARS_PATH}/bin:Startup scripts and binaries
  • ${TARS_PATH}/conf:Configuration file
  • ${TARS_PATH}/log: Log file
  • ${TARS_PATH}/data:Runtime, Cache file

About tarscli

tarscli provides a set of command tools to facilitate container deployment of TARS services. Parameters can be specified through environment variables. For details, see tarscli help.

Here are the sub commands supported by tarscli

  • genconf is used to generate the startup configuration file of the TARS service. The supported environment variables are:

    • TARS_APPLICATION the application name specified. By default, the_ server_ meta.yaml Read from
    • TARS_SERVER is the service name specified by the_ server_ meta.yaml Read from
    • TARS_BUILD_SERVER the service name at compile time. It will be used when the compiled service name is different from the running service name
    • TARS_LOCATOR can specify the address of registry. The default is tars.tarsregistry.QueryObj@tcp -h tars-registry.tars-system.svc.cluster.local -p 17890 (address of service)
    • TARS_SET_ID can specify service set
    • TARS_MERGE_Conf can specify the configuration template file and merge the configuration into the service startup configuration file
  • supervisor executes the genconf command by default, and then starts and monitors the service. The supported environment variables are:

    • TARS_START_PATH The startup script of the service $TARS_PATH/bin/start.sh
    • TARS_STOP_PATH The stop script, by default, kill all service processes under path $TARS_PATH
    • TARS_REPORT_INTERVAL reports the interval heartbeat to registry
    • TARS_DISABLE_FLOW whether to enable traffic when registering with registry. If it is not empty, it means it is off. It is enabled by default
    • TARS_CHECK_INTERVAL check the service status interval. If the status changes, it will be synchronized to the registry in real time
    • TARS_BEFORE_CHECK_SCRIPT the shell command that runs before each check
    • TARS_CHECK_SCRIPT_TIMEOUT the timeout to run the shell command before each check
    • TARS_PRESTOP_WAITTIME turn off traffic - the waiting time before stopping the service. It is used for lossless changes. The default value is 80 seconds
  • hzcheck is used to synchronize the service status and the pod status of k8s. You need to set the readiness Probe of pod to tarscli hzcheck command

  • prestop is used to delete the configuration corresponding to the registry before the service exits

    • TARS_PRESTOP_WAITTIME turn off traffic - the waiting time before stopping the service. It is used for lossless changes. The default value is 80 seconds
  • notify is used to send management commands. The common commands are: tars.setloglevel/tars.pprof, etc

Basic services

TARS related basic services provide rich service governance functions. Please refer to baseserver for deployment.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].