zoukankan      html  css  js  c++  java
  • linux运维、架构之路-k8s部署redis

    一、创建命名空间

    apiVersion: v1
    kind: Namespace
    metadata:
      name: dev

    二、创建redis配置ConfigMap

    apiVersion: v1
    kind: ConfigMap
    metadata:
      namespace: dev
      name: redis-conf
    data:
      redis.conf: |
            bind 0.0.0.0
            port 6379
            #requirepass 111111 #设置认证密码
            appendonly yes
            cluster-config-file nodes-6379.conf
            pidfile /redis/log/redis-6379.pid
            cluster-config-file /redis/conf/redis.conf
            dir /redis/data/
            logfile /redis/log/redis-6379.log
            cluster-node-timeout 5000
            protected-mode no

    三、创建有状态应用StatefulSet,并把数据挂载到宿主机上

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: redis
      namespace: dev
    spec:
      replicas: 1
      serviceName: redis
      selector:
        matchLabels:
          name: redis
      template:
        metadata:
          labels:
            name: redis
        spec:
          initContainers:
          - name: init-redis
            image: hub.ityy.ultrapower.com.cn:5050/middleware/busybox:1.1.1 #初始化容器镜像
            command: ['sh', '-c', 'mkdir -p /redis/log/;mkdir -p /redis/conf/;mkdir -p /redis/data/']
            volumeMounts:
            - name: data
              mountPath: /redis/
          containers:
          - name: redis
            image: hub.ityy.ultrapower.com.cn:5050/middleware/redis:4.0.6
            imagePullPolicy: IfNotPresent
            command:
            - sh
            - -c
            - "exec redis-server /redis/conf/redis.conf"
            ports:
            - containerPort: 6379
              name: redis
              protocol: TCP
            volumeMounts:
            - name: redis-config
              mountPath: /redis/conf/
            - name: data
              mountPath: /redis/
          volumes:
          - name: redis-config
            configMap:
              name: redis-conf
          - name: data
            hostPath:
              path: /app/ #挂载宿主机目录
          nodeSelector:
            domain: dev #选择要部署的固定节点

    四、创建Service对外暴露应用

    kind: Service
    apiVersion: v1
    metadata:
      namespace: dev
      labels:
        name: redis
      name: redis
    spec:
      type: NodePort
      ports:
      - name: redis
        port: 6379
        targetPort: 6379
        nodePort: 31379
      selector:
        name: redis
  • 相关阅读:
    机器视觉资料整理
    《用TCP/IP进行网络互连》读书笔记
    Win Form不能响应键盘事件
    C语言 字符串前加L的意义 如:L“A”
    UniCode 下 CString 转 char* 的方法(转)
    BATCH
    HALCON不支持的设备中,获取图像
    关于FragmentManager动态管理Fragment时Fragment生命周期的探究
    关于如何惟一地标识一台Android设备的综合性讨论
    如何使ActionBar不那么单调
  • 原文地址:https://www.cnblogs.com/yanxinjiang/p/13974715.html
Copyright © 2011-2022 走看看