Code Monkey home page Code Monkey logo

skywalking-kubernetes's Introduction

Apache SkyWalking Kubernetes

Sky Walking logo

GitHub stars Twitter Follow

SkyWalking Kubernetes repository provides ways to install and configure SkyWalking in a Kubernetes cluster. The scripts are written in Helm 3.

Chart Detailed Configuration

Chart detailed configuration can be found at Chart Readme

There are required values that you must set explicitly when deploying SkyWalking.

name description example
oap.image.tag the OAP docker image tag 9.2.0
oap.storageType the storage type of the OAP elasticsearch, postgresql, etc.
ui.image.tag the UI docker image tag 9.2.0

You can set these required values via command line (e.g. --set oap.image.tag=9.2.0 --set oap.storageType=elasticsearch), or edit them in a separate file(e.g. values.yaml, values-my-es.yaml) and use -f <filename> or --values=<filename> to set them.

Install

Let's set some variables for convenient use later.

export SKYWALKING_RELEASE_VERSION=4.3.0  # change the release version according to your need
export SKYWALKING_RELEASE_NAME=skywalking  # change the release name according to your scenario
export SKYWALKING_RELEASE_NAMESPACE=default  # change the namespace to where you want to install SkyWalking

Install released version using Docker Helm repository (>= 4.3.0)

helm install "${SKYWALKING_RELEASE_NAME}" \
  oci://registry-1.docker.io/apache/skywalking-helm \
  --version "${SKYWALKING_RELEASE_VERSION}" \
  -n "${SKYWALKING_RELEASE_NAMESPACE}" \
  --set oap.image.tag=9.2.0 \
  --set oap.storageType=elasticsearch \
  --set ui.image.tag=9.2.0

Install released version using Apache Jfrog Helm repository (<= 4.3.0)

export REPO=skywalking
helm repo add ${REPO} https://apache.jfrog.io/artifactory/skywalking-helm

Install development version of SkyWalking using master branch

This is needed only when you want to install SkyWalking from master branch.

export REPO=chart
git clone https://github.com/apache/skywalking-kubernetes
cd skywalking-kubernetes
helm repo add elastic https://helm.elastic.co
helm dep up ${REPO}/skywalking

Install development version of SWCK Adapter using master branch

This is needed only when you want to install SWCK Adapter from master branch.

SWCK Adapter chart detailed configuration can be found at Adapter Chart Readme.

You can install the Adapter with the default configuration as follows.

export REPO=chart
git clone https://github.com/apache/skywalking-kubernetes
cd skywalking-kubernetes
helm -n skywalking-custom-metrics-system install adapter ${REPO}/adapter --create-namespace

Install development version of SWCK Operator using master branch

This is needed only when you want to install SWCK Operator from master branch.

Before installing Operator, you have to install cert-manager at first.

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml

SWCK Operator chart detailed configuration can be found at Operator Chart Readme.

You can install the Operator with the default configuration as follows.

export REPO=chart
git clone https://github.com/apache/skywalking-kubernetes
cd skywalking-kubernetes
helm -n skywalking-swck-system install operator ${REPO}/operator

Install a specific version of SkyWalking

In theory, you can deploy all versions of SkyWalking that are >= 6.0.0-GA, by specifying the desired oap.image.tag/ui.image.tag.

Please note that some configurations that are added in the later versions of SkyWalking may not work in earlier versions, and thus if you specify those configurations, they may take no effect.

here are some examples.

  • Deploy SkyWalking 9.2.0
helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \
  --set oap.image.tag=9.2.0 \
  --set oap.storageType=elasticsearch \
  --set ui.image.tag=9.2.0

Because ElasticSearch recommends to use the corresponding Helm Chart version of the ElasticSearch version, if you want to use a specific version of ElasticSearch, you have to change the ElasticSearch Helm Chart version in dependencies section in Chart.yaml file, which requires you to install from the source codes. Or you should deploy the desired ElasticSearch version first by yourself, and then deploy SkyWalking to use the existing ElasticSearch by setting the following section:

elasticsearch:
  enabled: true
  config:               # For users of an existing elasticsearch cluster,takes effect when `elasticsearch.enabled` is false
    port:
      http: 9200
    host: elasticsearch # es service on kubernetes or host
    user: "xxx"         # [optional]
    password: "xxx"     # [optional]

Install development version using ghcr.io Helm repository

If you are willing to help testing the latest codes that are not released yet, we provided a snapshot Helm repository on ghcr.io for convenient use, replace the full commit hash in the version option to deploy the revision that you want to test.

helm -n istio-system install skywalking \
  oci://ghcr.io/apache/skywalking-kubernetes/skywalking-helm \
  --version "0.0.0-b670c41d94a82ddefcf466d54bab5c492d88d772" \
  -n "${SKYWALKING_RELEASE_NAMESPACE}" \
  --set oap.image.tag=9.2.0 \
  --set oap.storageType=elasticsearch \
  --set ui.image.tag=9.2.0

Install development version using source codes

This is needed only when you want to install source codes.

helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" 

Install a specific version of SkyWalking with an existing Elasticsearch

Modify the connection information to the existing elasticsearch cluster in file values-my-es.yaml.

helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \
  -f ./skywalking/values-my-es.yaml

Install SkyWalking with Satellite

Enable the satellite as gateway, and set the satellite image tag.

helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \
  --set satellite.enabled=true \
  --set satellite.image.tag=v0.4.0

After satellite have been installed, you should replace the oap address to the satellite address, the address from agent or istio, such as skywalking-satellite.istio-system:11800.

Customization

  • Override configuration files

You can override the configuration files for OAP or Satellite by adding configuration section oap.config and satellite.config, check the examples, search keyword config: {}.

  • Pass environment variables to OAP

The SkyWalking OAP exposes many configurations that can be specified by environment variables, as listed in the main repo. You can set those environment variables by --set oap.env.<ENV_NAME>=<ENV_VALUE>, such as --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh.

The environment variables take priority over the overrode configuration files.

Contact Us

LICENSE

Apache 2.0

skywalking-kubernetes's People

Contributors

innerpeacez avatar kezhenxu94 avatar wu-sheng avatar hanahmily avatar mrproliu avatar jaredtan95 avatar chengshiwen avatar dashanji avatar geffzhang avatar glongzh avatar chenvista avatar swartz-k avatar tristan-tsl avatar vision-ken avatar wayilau avatar williamyao1982 avatar zshrine avatar eric-sailfish avatar aikin-vip avatar rabajaj0509 avatar calvinkirs avatar carllhw avatar zalintyre avatar yangfisher1 avatar aviaviavi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.