| Apache SkyWalking Cloud on Kubernetes |
| ============ |
| |
|  |
| |
| <img src="https://skywalking.apache.org/assets/logo.svg" alt="Sky Walking logo" height="90px" align="right" /> |
| |
| A bridge project between [Apache SkyWalking](https://github.com/apache/skywalking) and Kubernetes. |
| |
| SWCK is a platform for the SkyWalking user that provisions, upgrades, maintains SkyWalking relevant components, and makes them work natively on Kubernetes. |
| |
| # Features |
| |
| * Java Agent Injector: Inject the java agent into the application pod natively. |
| * Inject the java agent into the application pod. |
| * Leverage a global configuration to simplify the agent and injector setup. |
| * Use the annotation to customize specific workloads. |
| * Synchronize injecting status to `JavaAgent` CR for monitoring purposes. |
| * Operator: Provision and maintain SkyWalking backend components. |
| * Custom Metrics Adapter: Provides custom metrics coming from SkyWalking OAP cluster for autoscaling by Kubernetes HPA |
| |
| # Quick Start |
| |
| You can follow the [Getting Started](docs/getting-started.md) to deploy swck on a testing Kubernetes cluster quickly and try out the skywalking components end to end. |
| |
| ## Java Agent Injector |
| |
| * Install the [Operator](#operator) |
| * Label the namespace with `swck-injection=enabled` |
| |
| ```shell |
| $ kubectl label namespace default(your namespace) swck-injection=enabled |
| ``` |
| |
| * Add label `swck-java-agent-injected: "true"` to the workloads |
| |
| For more details, please read [Java agent injector](/docs/java-agent-injector.md) |
| |
| ## Operator |
| |
| * To install the operator in an existing cluster, ensure you have [`cert-manager`](https://cert-manager.io/docs/installation/) installed. |
| * Apply the manifests for the Controller and CRDs in release/config: |
| |
| ``` |
| kubectl apply -f skywalking-swck-<SWCK_VERSION>-bin/config/operator-bundle.yaml |
| ``` |
| |
| * Also, you could deploy the operator quickly based on **Master Branch** or **Stable Release**: |
| |
| ``` |
| kubectl apply -k "github.com/apache/skywalking-swck/operator/config/default" |
| ``` |
| |
| or |
| |
| ``` |
| kubectl apply -k "github.com/apache/skywalking-swck/operator/config/default?ref=v0.8.0" |
| ``` |
| |
| For more details, please refer to [deploy operator](docs/operator.md) |
| |
| ## Custom Metrics Adapter |
| |
| * Deploy the OAP server by referring to Operator Quick Start. |
| * Apply the manifests for an adapter in release/adapter/config: |
| |
| ``` |
| kubectl apply -f skywalking-swck-<SWCK_VERSION>-bin/config/adapter-bundle.yaml |
| ``` |
| * Also, you could deploy the adapter quickly based on **Master Branch** or **Stable Release**: |
| |
| ``` |
| kubectl apply -k "github.com/apache/skywalking-swck/adapter/config" |
| ``` |
| |
| or |
| |
| ``` |
| kubectl apply -k "github.com/apache/skywalking-swck/adapter/config?ref=v0.8.0" |
| ``` |
| |
| For more details, please read [Custom metrics adapter](docs/custom-metrics-adapter.md) |
| |
| # Contributing |
| For developers who want to contribute to this project, see [Contribution Guide](CONTRIBUTING.md). What's more, we have a guide about how to add new CRDs and Controllers, see [How to add new CRD and Controller in SWCK](docs/how-to-add-new-crd-and-controller.md). |
| |
| # License |
| [Apache 2.0 License.](/LICENSE) |