A bridge project between 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.
- 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
You can follow the Getting Started to deploy swck on a testing Kubernetes cluster quickly and try out the skywalking components end to end.
- Install the Operator
- Label the namespace with
swck-injection=enabled
$ 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
- To install the operator in an existing cluster, ensure you have
cert-manager
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
- 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
For developers who want to contribute to this project, see Contribution Guide. 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.