K8S 上搭建 Redis


根據需求搭建一個不需要數據持久化,需要密碼登錄的 Redis

mkdir /iba/qa_ibaboss_elk -p

cd /iba/qa_ibaboss_elk

# 創建一個專用的 namespace
cat namespace.yaml 
---

apiVersion: v1
kind: Namespace
metadata:
  name: qa-ibaboss-elk

kubectl apply -f namespace.yaml 

# 查看 namespace
kubectl get namespace

創建一個 configmap

mkdir config && cd config

cat redis.conf 
#daemonize yes
pidfile /data/redis.pid
port 6379
tcp-backlog 30000
timeout 0
tcp-keepalive 10
loglevel notice
logfile /data/redis.log
databases 16
#save 900 1
#save 300 10
#save 60 10000
stop-writes-on-bgsave-error no
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /data
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass ibalife
maxclients 30000
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events KEA
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 1000
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10

# 在 qa-ibaboss-elk namespace 中創建 configmap
kubectl create configmap qa-ibaboss-elk-redis-conf --from-file=redis.conf -n qa-ibaboss-elk

創建 redis 容器

cat qa_ibaboss_elk_redis.yaml 
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: qa-ibaboss-elk-redis
  namespace: qa-ibaboss-elk
spec:
  replicas: 1
  template:
    metadata:
     labels:
       name: qa-ibaboss-elk-redis
    spec:
     containers:
     - name: qa-ibaboss-elk-redis
       image: redis
       volumeMounts:
       - name: foo
         mountPath: "/usr/local/etc"
       command:
         - "redis-server"
       args:
         - "/usr/local/etc/redis/redis.conf"
     volumes:
     - name: foo
       configMap:
         name: qa-ibaboss-elk-redis-conf
         items:
           - key: redis.conf
             path: redis/redis.conf

# 創建和查看 pod
kubectl apply -f qa_ibaboss_elk_redis.yaml 
kubectl get pods -n qa-ibaboss-elk

# 注意:configMap 會掛在 /usr/local/etc/redis/redis.conf 上。與 mountPath 和 configMap 下的 path 一同指定

可以創建一個 busybox 容器進去測試

kubectl run busybox --image=busybox -n qa-ibaboss-elk --command -- ping baidu.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM