Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- kind: PersistentVolumeClaim
- apiVersion: v1
- metadata:
- name: {{clustername}}pvcs001
- namespace: {{usernamespace}}
- annotations:
- volume.beta.kubernetes.io/storage-class: {{storageclass}}
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: {{volumesize}}Gi
- ---
- kind: PersistentVolumeClaim
- apiVersion: v1
- metadata:
- name: {{clustername}}pvcs002
- namespace: {{usernamespace}}
- annotations:
- volume.beta.kubernetes.io/storage-class: {{storageclass}}
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: {{volumesize}}Gi
- ---
- kind: PersistentVolumeClaim
- apiVersion: v1
- metadata:
- name: {{clustername}}pvcs003
- namespace: {{usernamespace}}
- annotations:
- volume.beta.kubernetes.io/storage-class: {{storageclass}}
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: {{volumesize}}Gi
- ---
- kind: StatefulSet
- apiVersion: apps/v1beta1
- metadata:
- name: {{clustername}}haproxy
- namespace: {{usernamespace}}
- spec:
- serviceName: {{clustername}}haproxy
- replicas: 1
- template:
- metadata:
- labels:
- app: {{clustername}}haproxy
- annotations:
- pod.beta.kubernetes.io/init-containers: '[
- {
- "name": "init-rabbitmq-first",
- "image": "busybox",
- "command": ["sh", "-c", "until nslookup {{clustername}}slave1; do echo waiting for {{clustername}}slave1; sleep 2; done;"],
- "imagePullPolicy": "IfNotPresent"
- }
- ]'
- spec:
- containers:
- - name: {{clustername}}haproxy
- imagePullPolicy: IfNotPresent
- image: daocloud.io/daocloud/haproxy-redis:v2-k1
- env:
- - name : REDIS_AUTH_PASSWORD
- value: {{PASSWORD}}
- - name : STARTORDER
- value: "7"
- - name : APPNAME
- value: "{{clustername}}"
- - name : HAPROXY_MAXCONN
- value: "{{haproxy_maxconn}}"
- - name : HAPROXY_CONNECT_TIMEOUT
- value: "{{haproxy_connect_timeout}}"
- - name : HAPROXY_CLIENT_TIMEOUT
- value: "{{haproxy_client_timeout}}"
- - name : HAPROXY_SERVER_TIMEOUT
- value: "{{haproxy_server_timeout}}"
- - name : HAPROXY_BALANCE
- value: "{{haproxy_balance}}"
- resources:
- requests:
- cpu: 50m
- memory: {{request_memory}}Mi
- limits:
- cpu: 50m
- memory: {{limit_memory}}Mi
- restartPolicy: Always
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: {{clustername}}haproxy
- namespace: {{usernamespace}}
- labels:
- io.daocloud.service.role: "master"
- io.daocloud.service.console: "true"
- app: {{clustername}}haproxy
- spec:
- ports:
- - port: 6379
- name: {{clustername}}haproxy
- protocol: TCP
- targetPort: 6379
- type: NodePort
- selector:
- app: {{clustername}}haproxy
- ---
- kind: StatefulSet
- apiVersion: apps/v1beta1
- metadata:
- name: {{clustername}}master
- namespace: {{usernamespace}}
- labels:
- app: {{clustername}}master
- alert: alert
- apptype: redis
- appgroup: {{clustername}}
- username: "redis"
- password: {{PASSWORD}}
- spec:
- serviceName: {{clustername}}master
- replicas: 1
- template:
- metadata:
- labels:
- app: {{clustername}}master
- alert: alert
- apptype: redis
- appgroup: {{clustername}}
- username: "redis"
- password: {{PASSWORD}}
- spec:
- volumes:
- - name: master
- persistentVolumeClaim:
- claimName: {{clustername}}pvcs001
- containers:
- - name: redis
- imagePullPolicy: IfNotPresent
- image: daocloud.io/daocloud/redis:ha-k1
- env:
- - name : REDIS_AUTH_PASSWORD
- value: {{password}}
- - name : STARTORDER
- value: "0"
- - name: MASTER
- value: "1"
- - name: ANNOUNCE_IP
- value: "{{clustername}}master"
- - name : STARTORDER
- value: "0"
- - name: MAXMEMORY
- value: "{{maxmemory}}"
- - name: REDIS_TIMEOUT
- value: "{{redis_timeout}}"
- - name: REDIS_RDB_COMPRESSION
- value: "{{redis_rdb_compression}}"
- - name: REDIS_APPEND_ONLY
- value: "{{redis_append_only}}"
- - name: REDIS_APPEND_FSYNC
- value: "{{redis_append_fsync}}"
- - name: REDIS_MAXMEMORY_POLICY
- value: "{{redis_maxmemory_policy}}"
- resources:
- requests:
- cpu: 50m
- memory: {{request_memory}}Mi
- limits:
- cpu: 50m
- memory: {{limit_memory}}Mi
- volumeMounts:
- - name: master
- mountPath: "/data"
- - name: sidecar
- imagePullPolicy: IfNotPresent
- image: daocloud.io/daocloud/dao-exporter:v1-1
- ports:
- - containerPort: 9120
- name: sidecar
- env:
- - name : USERNAME
- value: "redis"
- - name : PASSWORD
- value: "{{PASSWORD}}"
- - name : APPNAME
- value: "{{clustername}}"
- - name : APPTYPE
- value: "redis"
- - name : SERVICENAME
- value: "SERVICENAME"
- - name : HOSTS
- value: "redis:{{clustername}}:localhost:6379"
- resources:
- requests:
- cpu: 50m
- memory: 100Mi
- limits:
- cpu: 50m
- memory: 100Mi
- restartPolicy: Always
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: {{clustername}}master
- namespace: {{usernamespace}}
- labels:
- app: {{clustername}}master
- spec:
- ports:
- - port: 6379
- name: {{clustername}}master
- protocol: TCP
- targetPort: 6379
- type: ClusterIP
- selector:
- app: {{clustername}}master
- ---
- kind: StatefulSet
- apiVersion: apps/v1beta1
- metadata:
- name: {{clustername}}slave0
- namespace: {{usernamespace}}
- labels:
- app: {{clustername}}slave0
- alert: alert
- apptype: redis
- appgroup: {{clustername}}
- username: "redis"
- password: {{PASSWORD}}
- spec:
- serviceName: {{clustername}}slave0
- replicas: 1
- template:
- metadata:
- labels:
- app: {{clustername}}slave0
- alert: alert
- apptype: redis
- appgroup: {{clustername}}
- username: "redis"
- password: {{PASSWORD}}
- annotations:
- pod.beta.kubernetes.io/init-containers: '[
- {
- "name": "init-rabbitmq-first",
- "image": "busybox",
- "command": ["sh", "-c", "until nslookup {{clustername}}master; do echo waiting for masterr; sleep 2; done;"],
- "imagePullPolicy": "IfNotPresent"
- }
- ]'
- spec:
- affinity:
- podAntiAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- - labelSelector:
- matchExpressions:
- - key: "app"
- operator: In
- values:
- - {{clustername}}master
- topologyKey: "kubernetes.io/hostname"
- podAntiAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- - labelSelector:
- matchExpressions:
- - key: "app"
- operator: In
- values:
- - {{clustername}}slave1
- topologyKey: "kubernetes.io/hostname"
- volumes:
- - name: slave0
- persistentVolumeClaim:
- claimName: {{clustername}}pvcs002
- containers:
- - name: redis
- imagePullPolicy: IfNotPresent
- image: daocloud.io/daocloud/redis:ha-k1
- volumeMounts:
- - name: slave0
- mountPath: "/data"
- env:
- - name: MASTER_ADDRESS
- value: "{{usercluster}}master"
- - name: ANNOUNCE_IP
- value: "{{usercluster}}slave"
- - name : REDIS_AUTH_PASSWORD
- value: "{{PASSWORD}}"
- - name: MAXMEMORY
- value: "{{maxmemory}}"
- - name: REDIS_TIMEOUT
- value: "{{redis_timeout}}"
- - name: REDIS_RDB_COMPRESSION
- value: "{{redis_rdb_compression}}"
- - name: REDIS_APPEND_ONLY
- value: "{{redis_append_only}}"
- - name: REDIS_APPEND_FSYNC
- value: "{{redis_append_fsync}}"
- - name: REDIS_MAXMEMORY_POLICY
- value: "{{redis_maxmemory_policy}}"
- resources:
- requests:
- cpu: 50m
- memory: {{request_memory}}Mi
- limits:
- cpu: 50m
- memory: {{limit_memory}}Mi
- - name: sidecar
- imagePullPolicy: IfNotPresent
- image: daocloud.io/daocloud/dao-exporter:v1-1
- ports:
- - containerPort: 9120
- name: sidecar
- env:
- - name : USERNAME
- value: "redis"
- - name : PASSWORD
- value: "{{PASSWORD}}"
- - name : APPNAME
- value: "{{clustername}}"
- - name : APPTYPE
- value: "redis"
- - name : SERVICENAME
- value: "SERVICENAME"
- - name : HOSTS
- value: "redis:{{clustername}}:localhost:6379"
- resources:
- requests:
- cpu: 50m
- memory: 100Mi
- limits:
- cpu: 50m
- memory: 100Mi
- restartPolicy: Always
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: {{clustername}}slave
- namespace: {{usernamespace}}
- labels:
- app: {{clustername}}slave
- spec:
- ports:
- - port: 6379
- name: {{clustername}}slave
- protocol: TCP
- targetPort: 6379
- type: ClusterIP
- selector:
- app: {{clustername}}slave0
- ---
- kind: StatefulSet
- apiVersion: apps/v1beta1
- metadata:
- name: {{clustername}}slave1
- namespace: {{usernamespace}}
- labels:
- app: {{clustername}}slave1
- alert: alert
- apptype: redis
- appgroup: {{clustername}}
- username: "redis"
- password: {{PASSWORD}}
- spec:
- serviceName: {{clustername}}slave1
- replicas: 1
- template:
- metadata:
- labels:
- app: {{clustername}}slave1
- alert: alert
- apptype: redis
- appgroup: {{clustername}}
- username: "redis"
- password: {{PASSWORD}}
- annotations:
- pod.beta.kubernetes.io/init-containers: '[
- {
- "name": "init-rabbitmq-first",
- "image": "busybox",
- "command": ["sh", "-c", "until nslookup {{clustername}}slave; do echo waiting for {{clustername}}slave; sleep 2; done;"],
- "imagePullPolicy": "IfNotPresent"
- }
- ]'
- spec:
- affinity:
- podAntiAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- - labelSelector:
- matchExpressions:
- - key: "app"
- operator: In
- values:
- - {{clustername}}slave0
- topologyKey: "kubernetes.io/hostname"
- podAntiAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- - labelSelector:
- matchExpressions:
- - key: "app"
- operator: In
- values:
- - {{clustername}}master
- topologyKey: "kubernetes.io/hostname"
- volumes:
- - name: {{clustername}}slave1
- persistentVolumeClaim:
- claimName: {{clustername}}pvcs003
- containers:
- - name: redis
- imagePullPolicy: IfNotPresent
- image: daocloud.io/daocloud/redis:ha-k1
- volumeMounts:
- - name: {{clustername}}slave1
- mountPath: "/data"
- env:
- - name: MASTER_ADDRESS
- value: "{{usercluster}}master"
- - name: ANNOUNCE_IP
- value: "{{usercluster}}slave1"
- - name : REDIS_AUTH_PASSWORD
- value: "{{PASSWORD}}"
- - name: MAXMEMORY
- value: "{{maxmemory}}"
- - name: REDIS_TIMEOUT
- value: "{{redis_timeout}}"
- - name: REDIS_RDB_COMPRESSION
- value: "{{redis_rdb_compression}}"
- - name: REDIS_APPEND_ONLY
- value: "{{redis_append_only}}"
- - name: REDIS_APPEND_FSYNC
- value: "{{redis_append_fsync}}"
- - name: REDIS_MAXMEMORY_POLICY
- value: "{{redis_maxmemory_policy}}"
- resources:
- requests:
- cpu: 50m
- memory: {{request_memory}}Mi
- limits:
- cpu: 50m
- memory: {{limit_memory}}Mi
- - name: sidecar
- imagePullPolicy: IfNotPresent
- image: daocloud.io/daocloud/dao-exporter:v1-1
- ports:
- - containerPort: 9120
- name: sidecar
- env:
- - name : USERNAME
- value: "redis"
- - name : PASSWORD
- value: "{{PASSWORD}}"
- - name : APPNAME
- value: "{{clustername}}"
- - name : APPTYPE
- value: "redis"
- - name : SERVICENAME
- value: "SERVICENAME"
- - name : HOSTS
- value: "redis:{{clustername}}:localhost:6379"
- resources:
- requests:
- cpu: 50m
- memory: 100Mi
- limits:
- cpu: 50m
- memory: 100Mi
- restartPolicy: Always
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: {{clustername}}slave1
- namespace: {{usernamespace}}
- labels:
- app: {{clustername}}slave1
- spec:
- ports:
- - port: 6379
- name: {{clustername}}slave1
- protocol: TCP
- targetPort: 6379
- type: ClusterIP
- selector:
- app: {{clustername}}slave1
- ---
- kind: StatefulSet
- apiVersion: apps/v1beta1
- metadata:
- name: {{clustername}}sentinel
- namespace: {{usernamespace}}
- spec:
- serviceName: {{clustername}}sentinel
- replicas: 3
- template:
- metadata:
- labels:
- app: {{clustername}}sentinel
- annotations:
- pod.beta.kubernetes.io/init-containers: '[
- {
- "name": "init-rabbitmq-first",
- "image": "busybox",
- "command": ["sh", "-c", "until nslookup {{clustername}}slave1; do echo waiting for {{clustername}}slave1; sleep 2; done;"],
- "imagePullPolicy": "IfNotPresent"
- }
- ]'
- spec:
- affinity:
- podAntiAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- - labelSelector:
- matchExpressions:
- - key: "app"
- operator: In
- values:
- - {{clustername}}sentinel
- topologyKey: "kubernetes.io/hostname"
- containers:
- - name: redis
- imagePullPolicy: IfNotPresent
- image: daocloud.io/daocloud/redis-sentinel:v2-alpha1
- env:
- - name : REDIS_AUTH_PASSWORD
- value: "{{PASSWORD}}"
- - name: SENTINEL
- value: "1"
- - name: MASTER_IP
- value: "{{clustername}}master"
- - name: SENTINEL_PORT
- value: "26379"
- - name: downaftermilliseconds
- value: "10000"
- - name: failovertimeout
- value: "5000"
- - name : APPNAME
- value: "{{clustername}}"
- - name: REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS
- value: "{{redis_sentinel_down_after_milliseconds}}"
- - name: REDIS_SENTINEL_FAILOVER_TIMEOUT
- value: "{{redis_sentinel_failover_timeout}}"
- - name: REDIS_SENTINEL_PARALLEL_SYNCS
- value: "{{redis_sentinel_parallel_syncs}}"
- resources:
- requests:
- cpu: 50m
- memory: {{request_memory}}Mi
- limits:
- cpu: 50m
- memory: {{limit_memory}}Mi
- restartPolicy: Always
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: sentinel
- namespace: {{usernamespace}}
- labels:
- app: {{clustername}}sentinel
- spec:
- ports:
- - port: 26379
- name: {{clustername}}sentinel
- protocol: TCP
- targetPort: 26379
- type: ClusterIP
- selector:
- app: {{clustername}}sentinel
Add Comment
Please, Sign In to add comment