• 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
    
  • 相关阅读:
    对象和接口简单比较
    DevExpress报表开发基本流程
    有关ExecuteNonQuery返回值的分析
    2012年度计划
    小测试:有关++i&&i++,你是不是看晕了
    “PE文件格式”1.9版 完整译文
    .NET中的入口及幕后英雄:MSCorEE.dll(转)
    软件构建过程中的隐喻
    转:地图导出格式,教你如何选择
    推荐几个网站
  • 原文地址:https://www.cnblogs.com/klvchen/p/10862607.html
Copyright © 2020-2023  润新知