Storage Usage
In this example, you will learn how to use the Storage.
Install Operator
Follow Operator installation instrument to install the operator.
Define Storage with default setting
- sample.yaml(use the internal type)
apiVersion: operator.skywalking.apache.org/v1alpha1
kind: Storage
metadata:
name: sample
spec:
type: elasticsearch
connectType: internal
version: 7.5.1
instances: 3
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
security:
user:
secretName: default
tls: true
- sample.yaml(use the external type)
apiVersion: operator.skywalking.apache.org/v1alpha1
kind: Storage
metadata:
name: sample
spec:
type: elasticsearch
connectType: external
address: "https://elasticsearch"
security:
user:
secretName: default
Deploy Storage
- Deploy the Storage use the below command:
$ kubectl apply -f sample.yaml
- Check the Storage in Kubernetes:
- If you deploy the storage with the internal type:
$ kubectl get storage
NAME INSTANCES TYPE VERSION CONNECTTYPE
sample 3 elasticsearch 7.5.1 internal
- If you deploy the storage with the external type:
$ kubectl get storage
NAME INSTANCES TYPE VERSION CONNECTTYPE
sample elasticsearch 7.5.1 external
- Check the Statefulset in Kubernetes:
$ kubectl get statefulset
NAME READY AGE
sample-elasticsearch 3/3 7s
Specify Storage Name in OAP server
Here we modify the default OAP server configuration file,the new yaml file as follows:
apiVersion: operator.skywalking.apache.org/v1alpha1
kind: OAPServer
metadata:
name: default
spec:
version: 9.0.0
instances: 1
image: apache/skywalking-oap-server:9.0.0
service:
template:
type: ClusterIP
storage:
name: sample
- Deploy the OAP server use the new yaml file:
$ kubectl apply -f oap.yaml
- Check the OAP server in Kubernetes:
$ kubectl get oapserver
NAME INSTANCES RUNNING ADDRESS
sample 1 1 sample-oap.default
- Check whether the pod generated by OAP server is running correctly.
$ kubectl get pod -l app=oap
NAME READY STATUS RESTARTS AGE
sample-oap-5bc79567b7-tkw6q 1/1 Running 0 6m31s