Skip to content

Commit

Permalink
Add Memcached custom-podTemplate
Browse files Browse the repository at this point in the history
Signed-off-by: Muhammad Raisul Islam Evan <[email protected]>
  • Loading branch information
Evanraisul committed Dec 2, 2024
1 parent 0bdc1af commit 751bd7c
Show file tree
Hide file tree
Showing 25 changed files with 715 additions and 31 deletions.
18 changes: 18 additions & 0 deletions docs/examples/memcached/custom-config/custom-podtemplate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: kubedb.com/v1
kind: Memcached
metadata:
name: custom-mc
namespace: demo
spec:
version: "1.6.22"
replicas: 1
podTemplate:
spec:
containers:
- name: memcached
env:
- name: "Memcached_Key"
value: KubeDB
- name: "Memcached_Value"
value: '123'
deletionPolicy: WipeOut
13 changes: 13 additions & 0 deletions docs/examples/memcached/custom-config/node-selector.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: kubedb.com/v1
kind: Memcached
metadata:
name: memcached-node-selector
namespace: demo
spec:
version: "1.6.22"
replicas: 1
podTemplate:
spec:
nodeSelector:
disktype: ssd
deletionPolicy: WipeOut
29 changes: 29 additions & 0 deletions docs/examples/memcached/custom-config/sidecar-container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
apiVersion: kubedb.com/v1
kind: Memcached
metadata:
name: memcached-custom-sidecar
namespace: demo
spec:
version: "1.6.22"
replicas: 1
podTemplate:
spec:
containers:
- name: memcached
resources:
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 100m
memory: 100Mi
- name: filebeat
image: evanraisul/custom_filebeat:latest
resources:
limits:
cpu: 300m
memory: 300Mi
requests:
cpu: 300m
memory: 300Mi
deletionPolicy: WipeOut
9 changes: 9 additions & 0 deletions docs/examples/memcached/custom-config/without-toleration.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: kubedb.com/v1
kind: Memcached
metadata:
name: memcached-without-tolerations
namespace: demo
spec:
version: "1.6.22"
replicas: 1
deletionPolicy: WipeOut
8 changes: 3 additions & 5 deletions docs/guides/memcached/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,30 @@ aliases:
> New to KubeDB? Please start [here](/docs/README.md).
## Overview
Memcached is an in-memory key-value store that allows for high-performance, low-latency data caching. It is often used to speed up dynamic web applications by offloading frequent, computationally expensive database queries and storing data that needs to be retrieved fast. Memcached is frequently used in contexts where the rapid retrieval of tiny data items, such as session data, query results, and user profiles, is critical for increasing application performance. It is especially well-suited for use cases requiring scalability, distributed caching, and high throughput, making it a popular choice for powering online and mobile apps, particularly in high-concurrency environments. Memcached is a simple, extremely efficient caching layer that minimizes stress on backend systems and improves performance for applications that require real-time data.
`Memcached` is an in-memory key-value store that allows for high-performance, low-latency data caching. It is often used to speed up dynamic web applications by offloading frequent, computationally expensive database queries and storing data that needs to be retrieved fast. Memcached is frequently used in contexts where the rapid retrieval of tiny data items, such as session data, query results, and user profiles, is critical for increasing application performance. It is especially well-suited for use cases requiring scalability, distributed caching, and high throughput, making it a popular choice for powering online and mobile apps, particularly in high-concurrency environments. Memcached is a simple, extremely efficient caching layer that minimizes stress on backend systems and improves performance for applications that require real-time data.

## Supported Memcached Features

| Features | Availability |
| ----------------------------------------------------- | :----------: |
| Multiple Memcached Versions | &#10003; |
| Custom Configuration | &#10003; |
| Externally manageable Auth Secret | &#10003; |
| Reconfigurable Health Checker | &#10003; |
| Using Custom docker image | &#10003; |
| Builtin Prometheus Discovery | &#10003; |
| Using Prometheus operator | &#10003; |
| Operator Managed Prometheus Discovery | &#10003; |
| Automated Version Update | &#10003; |
| Automated Vertical Scaling | &#10003; |
| Automated Horizontal Scaling | &#10003; |
| Automated db-configure Reconfiguration | &#10003; |
| Authentication & Authorization | &#10003; |
| TLS: Add, Remove, Update, Rotate ( Cert Manager ) | &#10003; |
| Autoscaling (Vertically) | &#10003; |
| Multiple Memcached Versions | &#10003; |
| Monitoring using Prometheus and Grafana | &#10003; |
| Monitoring Grafana Dashboard | &#10003; |
| Alert Grafana Dashboard | &#10003; |



## Life Cycle of a Memcached Object

<p align="center">
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/memcached/autoscaler/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: auto-scaling
name: Autoscaling
parent: mc-memcached-guides
weight: 47
weight: 90
menu_name: docs_{{ .version }}
---
2 changes: 1 addition & 1 deletion docs/guides/memcached/autoscaler/compute/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: compute-auto-scaling
name: Compute Autoscaling
parent: auto-scaling
weight: 46
weight: 91
menu_name: docs_{{ .version }}
---
2 changes: 1 addition & 1 deletion docs/guides/memcached/cli/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -292,5 +292,5 @@ $ kubectl delete memcached <name>
## Next Steps

- Learn how to use KubeDB to run a Memcached server [here](/docs/guides/memcached/README.md).
- Learn how to use custom configuration in Memcached with KubeDB [here](/docs/guides/memcached/custom-configuration/using-config-file.md)
- Learn how to use custom configuration in Memcached with KubeDB [here](/docs/guides/memcached/custom-configuration/customize-configuration)
- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md).
2 changes: 1 addition & 1 deletion docs/guides/memcached/concepts/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: mc-concepts-memcached
name: Concepts
parent: mc-memcached-guides
weight: 20
weight: 30
menu_name: docs_{{ .version }}
---
2 changes: 1 addition & 1 deletion docs/guides/memcached/concepts/memcached.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Memcached managed by KubeDB can be monitored with builtin-Prometheus and Prometh

### spec.configSecret

`spec.configSecret` is an optional field that allows users to provide custom configuration for Memcached. This field accepts a [`VolumeSource`](https://github.com/kubernetes/api/blob/release-1.11/core/v1/types.go#L47). So you can use any Kubernetes supported volume source such as `configMap`, `secret`, `azureDisk` etc. To learn more about how to use a custom configuration file see [here](/docs/guides/memcached/custom-configuration/using-config-file.md).
`spec.configSecret` is an optional field that allows users to provide custom configuration for Memcached. This field accepts a [`VolumeSource`](https://github.com/kubernetes/api/blob/release-1.11/core/v1/types.go#L47). So you can use any Kubernetes supported volume source such as `configMap`, `secret`, `azureDisk` etc. To learn more about how to use a custom configuration file see [here](/docs/guides/memcached/custom-configuration/customize-configuration).

### spec.podTemplate

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/memcached/custom-configuration/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: custom-configuration
name: Custom Configuration
parent: mc-memcached-guides
weight: 30
weight: 40
menu_name: docs_{{ .version }}
---
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Run Memcached with Custom Configuration
menu:
docs_{{ .version }}:
identifier: mc-using-config-file-configuration
name: Config File
name: Customize Configurations
parent: custom-configuration
weight: 10
menu_name: docs_{{ .version }}
Expand Down
Loading

0 comments on commit 751bd7c

Please sign in to comment.