mirror of
https://github.com/kubevela/kubevela.git
synced 2026-05-20 16:23:24 +00:00
102 lines
3.0 KiB
Markdown
102 lines
3.0 KiB
Markdown
---
|
|
title: Attach Sidecar
|
|
---
|
|
|
|
In this section, we will show you how to use `sidecar` trait to collect logs.
|
|
|
|
## Show the Usage of Sidecar
|
|
|
|
```shell
|
|
$ kubectl vela show sidecar
|
|
# Properties
|
|
+---------+-----------------------------------------+-----------------------+----------+---------+
|
|
| NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
|
|
+---------+-----------------------------------------+-----------------------+----------+---------+
|
|
| name | Specify the name of sidecar container | string | true | |
|
|
| cmd | Specify the commands run in the sidecar | []string | false | |
|
|
| image | Specify the image of sidecar container | string | true | |
|
|
| volumes | Specify the shared volume path | [[]volumes](#volumes) | false | |
|
|
+---------+-----------------------------------------+-----------------------+----------+---------+
|
|
|
|
|
|
## volumes
|
|
+-----------+-------------+--------+----------+---------+
|
|
| NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
|
|
+-----------+-------------+--------+----------+---------+
|
|
| name | | string | true | |
|
|
| path | | string | true | |
|
|
+-----------+-------------+--------+----------+---------+
|
|
```
|
|
|
|
## Apply the Application
|
|
|
|
In this Application, component `log-gen-worker` and sidecar share the data volume that saves the logs.
|
|
The sidebar will re-output the log to stdout.
|
|
|
|
```yaml
|
|
# app.yaml
|
|
apiVersion: core.oam.dev/v1beta1
|
|
kind: Application
|
|
metadata:
|
|
name: vela-app-with-sidecar
|
|
spec:
|
|
components:
|
|
- name: log-gen-worker
|
|
type: worker
|
|
properties:
|
|
image: busybox
|
|
cmd:
|
|
- /bin/sh
|
|
- -c
|
|
- >
|
|
i=0;
|
|
while true;
|
|
do
|
|
echo "$i: $(date)" >> /var/log/date.log;
|
|
i=$((i+1));
|
|
sleep 1;
|
|
done
|
|
volumes:
|
|
- name: varlog
|
|
mountPath: /var/log
|
|
type: emptyDir
|
|
traits:
|
|
- type: sidecar
|
|
properties:
|
|
name: count-log
|
|
image: busybox
|
|
cmd: [ /bin/sh, -c, 'tail -n+1 -f /var/log/date.log']
|
|
volumes:
|
|
- name: varlog
|
|
path: /var/log
|
|
```
|
|
|
|
Apply this Application.
|
|
|
|
```shell
|
|
kubectl apply -f app.yaml
|
|
```
|
|
|
|
Check the workload generate by Application.
|
|
|
|
```shell
|
|
$ kubectl get pod
|
|
NAME READY STATUS RESTARTS AGE
|
|
log-gen-worker-76945f458b-k7n9k 2/2 Running 0 90s
|
|
```
|
|
|
|
Check the output of sidecar.
|
|
|
|
```shell
|
|
$ kubectl logs -f log-gen-worker-76945f458b-k7n9k count-log
|
|
0: Fri Apr 16 11:08:45 UTC 2021
|
|
1: Fri Apr 16 11:08:46 UTC 2021
|
|
2: Fri Apr 16 11:08:47 UTC 2021
|
|
3: Fri Apr 16 11:08:48 UTC 2021
|
|
4: Fri Apr 16 11:08:49 UTC 2021
|
|
5: Fri Apr 16 11:08:50 UTC 2021
|
|
6: Fri Apr 16 11:08:51 UTC 2021
|
|
7: Fri Apr 16 11:08:52 UTC 2021
|
|
8: Fri Apr 16 11:08:53 UTC 2021
|
|
9: Fri Apr 16 11:08:54 UTC 2021
|
|
``` |