@@ -5,7 +5,7 @@ Current available images can be deployed in multiple architectures.
5
5
6
6
## Start Docker
7
7
8
- Use the following command to start Docker with Fluent Bit.
8
+ Use the following command to start Docker with Fluent Bit:
9
9
10
10
``` shell
11
11
docker run -ti cr.fluentbit.io/fluent/fluent-bit
@@ -172,7 +172,7 @@ The following checks were performed on each of these signatures:
172
172
```
173
173
174
174
Replace ` cosign ` with the binary installed if it has a different name
175
- (for example: ` cosign-linux-amd64 ` ).
175
+ (for example, ` cosign-linux-amd64 ` ).
176
176
177
177
Keyless signing is also provided but is still experimental:
178
178
@@ -201,7 +201,8 @@ documentation.
201
201
-i cpu -o stdout -f 1
202
202
```
203
203
204
- That command will let Fluent Bit measure CPU usage every second and flush the results to the standard output, e.g:
204
+ That command lets Fluent Bit measure CPU usage every second and flushes the results
205
+ to the standard output. For example:
205
206
206
207
``` shell
207
208
[2019/10/01 12:29:02] [ info] [engine] started
@@ -213,7 +214,7 @@ That command will let Fluent Bit measure CPU usage every second and flush the re
213
214
### Why there is no Fluent Bit Docker image based on Alpine Linux?
214
215
215
216
Alpine Linux uses Musl C library instead of Glibc. Musl isn't fully compatible with
216
- Glibc which generated many issues in the following areas when used with Fluent Bit:
217
+ Glibc, which generated many issues in the following areas when used with Fluent Bit:
217
218
218
219
- Memory Allocator: To run properly in high-load environments, Fluent Bit uses
219
220
Jemalloc as a default memory allocator which reduces fragmentation and provides
@@ -223,24 +224,24 @@ Glibc which generated many issues in the following areas when used with Fluent B
223
224
plugins in Fluent Bit.
224
225
- Alpine Linux Musl Time format parser doesn't support Glibc extensions.
225
226
- The Fluent Bit maintainers' preference for base images are Distroless and
226
- Debian for security and maintenance reasons .
227
+ Debian for security and maintenance reasons.
227
228
228
229
### Why use Distroless containers?
229
230
230
231
The reasons for using Distroless are well covered in
231
232
[ Why should I use Distroless images?] ( https://github.com/GoogleContainerTools/distroless#why-should-i-use-distroless-images ) .
232
233
233
- - Only include what you need, reduce the attack surface available.
234
+ - Include only what you need, reduce the attack surface available.
234
235
- Reduces size and improves performance.
235
236
- Reduces false positives on scans (and reduces resources required for scanning).
236
237
- Reduces supply chain security requirements to only what you need.
237
238
- Helps prevent unauthorised processes or users interacting with the container.
238
- - Less need to harden the container (and container runtime, K8S , and so on).
239
+ - Less need to harden the container (and container runtime, K8s , and so on).
239
240
- Faster CI/CD processes.
240
241
241
242
With any choice, there are downsides:
242
243
243
- - No shell or package manager to update/ add things.
244
+ - No shell or package manager to update or add things.
244
245
- Generally, dynamic updating is a bad idea in containers as the time it's done
245
246
affects the outcome: two containers started at different times using the same
246
247
base image can perform differently or get different dependencies.
@@ -264,7 +265,7 @@ For debugging, debug containers are available now in K8S:
264
265
265
266
- This can be a significantly different container from the one you want to
266
267
investigate, with lots of extra tools or even a different base.
267
- - No resource limits applied to this container - can be good or bad.
268
- - Runs in pod namespaces, it 's another container that can access everything the others can.
268
+ - No resource limits applied to this container, which can be good or bad.
269
+ - Runs in pod namespaces. It 's another container that can access everything the others can.
269
270
- Might need architecture of the pod to share volumes or other information.
270
271
- Requires more recent versions of K8S and the container runtime plus RBAC allowing it.
0 commit comments