K8s部署 OpenEBS

使用openEBS可以方便的把本地磁盘作为k8s的存储, 比如hostpath存储类让有状态副本集调度到对应的节点然后使用存储,
可以参考:
https://openebs.io/
https://zhuanlan.zhihu.com/p/519172233?utm_id=0

本文的使用环境

服务器有块磁盘, 一块系统盘,一块数据盘, 数据盘用来存东西, 挂载目录为/data, 格式化为ext4, 作为openebs host-path存储类使用,

如果需要使用块存储类,则不需要分区格式化,保持磁盘原始状态即可

继续阅读“K8s部署 OpenEBS”

k8s部署xxl-job

项目 docker地址

xuxueli/xxl-job-admin:2.2.0

k8s部署yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: default
  name: xxl-job-admin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: xxl-job-admin
  template:
    metadata:
      labels:
        app: xxl-job-admin
    spec:
      containers:
      - name: xxl-job-admin
        image: xuxueli/xxl-job-admin:2.2.0
        imagePullPolicy: Always     # 优先使用本地镜像
        ports:
        - containerPort: 8080
        env:
        - name: PARAMS   # 定义变量,用来接收sql的用户/密码 mysql为k8s集群内的service名称,在k8s集群内部可以直接使用service名称,因为集群默认做了coredns解析
          value: "--spring.datasource.url=jdbc:mysql://MySQL地址:mysql端口/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=MySQL用户名 --spring.datasource.password=MySQL密码"

---
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s.kuboard.cn/name: xxl-job-admin
  name: xxl-job-admin
  namespace: default
spec:
  ports:
    - name: xxl-job
      port: 8080
      protocol: TCP
      targetPort: 8080
  selector:
    app: xxl-job-admin
  type: ClusterIP

访问方式

java nacos中配置

xxl:
  job:
    admin:
      addresses: http://xxl-job-admin.default.svc:8080/xxl-job-admin   #xxl-job服务器地址
    executor:
      appname: shop-product    #注册到xxl-job服务器的应用名称
      port: 9990    #和定时任务调度中心通信的端口
      logpath: /data/appLogs/jobhandler   #定时任务调用的日志文件
      logretentiondays: 30 #日志文件保存的天数

redis 压力测试

普通测试

redis-benchmark -h 10.244.6.69 -p 6379 -n 1000000 -c 50 -t set,get,incr -q  -a a12345678

使用pipe管道 批量提交测试

redis-benchmark -h 10.244.6.69 -p 6379 -n 1000000 -c 50 -t set,get,incr -q  -a a12345678 -P 10

测试随机key性能

redis-benchmark -h 10.244.6.69 -p 6379 -n 1000000 -c 50 -t set,get,incr -q  -a a12345678 -r 10

-n : 总请求数
-c : 线程数
-t : 请求类型
-q : 安静模式
-a : 密码
-P : 多少个请求一组

k8s部署redis哨兵1主2从

一开始打算把启动脚本和配置文件放入configmap,直接使用一个yaml文件进行部署,但是实际操作中遇到个问题, 后续解决了,再使用单一yaml文件部署,
这里使用自定义镜像方式,来进行部署,以下是部署流程

  1. 制作redis镜像

    也可以直接使用构建好的,"k9scc/base-env:redis-7-sentinel"

  2. 使用yaml文件,创建redis

继续阅读“k8s部署redis哨兵1主2从”