首页 > 数据库 >k8s部署单机redis pod

k8s部署单机redis pod

时间:2024-09-15 11:13:20浏览次数:9  
标签:name config app redis 6379 pod k8s data

 

kind: ConfigMap
apiVersion: v1
metadata:
  name: redis
  namespace: default
  labels:
    app: redis
data:
  redis.conf: |-
    port 6379
    bind 0.0.0.0
    dir /data
    appendonly yes
    protected-mode no
    requirepass redis
    pidfile /data/redis-6379.pid
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis
  namespace: default
  labels:
    app: redis
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      containers:
        - name: redis
          image: docker.io/redis:7.2.5
          command: ["bash", "-c", "redis-server /config/redis.conf & trap 'redis-cli shutdown && exit 0' SIGTERM; while true; do sleep 1; done"]
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
          livenessProbe:
            tcpSocket:
              port: 6379
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            failureThreshold: 3
          readinessProbe:
            tcpSocket:
              port: 6379
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            failureThreshold: 3
          volumeMounts:
            - name: data
              mountPath: /data
            - name: config
              mountPath: /config
      volumes:
        - name: data
          hostPath:
            path: /redisData
            type: DirectoryOrCreate
        - name: config
          configMap:
            name: redis

问题:删除pod耗时30s以上。

原因:redis-server不会响应kubelet发送的15信号,需要通过trap捕获信号后redis-cli shutdown退出。

标签:name,config,app,redis,6379,pod,k8s,data
From: https://www.cnblogs.com/WJQ2017/p/18415081

相关文章

  • k8s中master无法访问NodePort,普通节点可以
    我的是ens33下有两个ip:  移除不想要的ip(不是我们设置的静态ip): 临时(重启后失效):sudoipaddrdel192.168.87.132/24devens33 #删除所有pod让他们再创建 kubectldeletepods--all--all-namespaces 永久(不要dhcp):sudovi/etc/sysconfig/network-scripts/ifcf......
  • k8s常用指令续:
    3.命名空间[root@k8s-masterpods]#kubectlcreatenamespaceabc    //创建命名空间namespace/abccreated[root@k8s-masterpods]#kubectlgetnamespaces        //查看命名空间NAME         STATUS AGEabc   ......
  • 云服务器安装redis
    第一步:上传redis压缩安装包到服务器       wgethttps://download.redis.io/releases/redis-5.0.4.tar.gz第二步:将压缩安装包解压        tar-xvfredis-xxx.tar.gz第三步:进入redis的目录,编译redis,执行命令:make        cdr......
  • Redis实现发布/订阅功能(实战篇)
    前言博主在学习Redis实现发布订阅功能的时候,踩了太多的坑。不是讲解不详细,看的一知半解;就是代码有问题,实际压根跑不起来!于是博主萌生了自己写一个最新版且全程无错的博客供各位参考。希望各位不要把我才过的坑再踩一遍。(实战篇的所有代码均由本人测试,全程无Bug。)废话不多......
  • Redis运维之监控指标,性能监控,监控方式,响应慢分析
    目录1Redis监控1.1Redis监控指标1.1.1性能指标:Performance1.1.2内存指标:Memory1.1.3基本活动指标:Basicactivity1.1.4持久性指标:Persistence1.1.5错误指标:Error1.2监控方式1.2.1info1.2.2性能监控1.2.3内存监控1.2.4基本活动指标1.2.5持久性指标1.2.6错误指标......
  • Redis集群
    Redis集群一、定义由于数据量过大,单个master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展,每个复制集只负责存储整个数据集的一部分,这就是redis的集群。Redis集群是一个提供在多个redis节点间共享数据的程序集,可以支持多个masterRedis集群支持多个master,每个mast......
  • SpringBoot集成Redis以及StringRedisTemplate的使用
    引言该篇文章介绍了在SpringBoot项目中,集成了Redis,Redis提供了RedisTemplate的扩展StringRedisTemplate,用于对字符串的操作,使用StringRedisTemplate,不需要(写RedisConfig)额外设置序列化。不过存取对象需要自己序列化、反序列化。本文会介绍配置,以及连接Redis,还有使用的部分代......
  • springboot保存redis键值对出现乱码\xac\xed\x00\x05t\x00
    当使用RedisTemplate进行操作时,发现保存的key带有特殊字符。原因是RedisTemplate默认处理key为对象,改为StringRedisTemplate后,能正确保存字符串key,避免了编码问题。@SpringBootTestclassRedisApplicationTests{@AutowiredprivateRedisTemplateredisTemplate;......
  • K8S怎么删除一个Node节点
    驱逐Pod本次node为172.16.5.103#kubectldrain172.16.5.103--force--ignore-daemonsets--delete-local-data使用参数--delete-local-data删除本地挂载数据查看该节点无法调度删除node#kubectldeletenode172.16.5.103重新设置为可调度#kubectluncordon172.16.5.103......
  • k8s面试总结
    k8s是一个Google开源的的容器编排工具。k8s能够实现弹性伸缩、负载均衡、版本回退等功能。一个kubernetes集群主要是由控制节点(master)、工作节点(node)构成,每个节点上都会安装不同的组件。下面,以部署一个nginx服务来说明kubernetes系统各个组件调用关系:首先要明确,一旦kub......