Technology sharing

[K8s installation redis] Instrue redis botrum vigiliarum in k8s environment sine pvc

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Introductio

Aedificare officia magnifica in botro k8s est relative molesta. Praesens amet accessus ad redis aedificandum est usus communis repositionis ceph et nas ad ceptaculum pervicax notitiarum consequendum repono. Articulus hic multis exemplaribus affinitatis hostpathiae praegravis utetur ad aedificandum redis botrum e ambitu exsistente et diversis necessitatibus ad obtinendam datam perseverantiam ac promptam promptitudinem servitii redis.

1. Conditiones et ambitus descriptio:

K8s versio k8s-1.29.4, ambitus in telecommunicationum camerarum computatrorum aedificatur, cum sex nodis operarius. Quisque nodi orbis SSD ad iter /data/s ascensum non systematis habet Nulla operante adhibetur.

2. Requisita descriptio:

  • Redis vigilia botrum construere.
  • Praestare promptum est: Si nodi k8s moriuntur vel vasculum sileatur, usus non afficietur.
  • Princeps effectus: Lege et scribe orbis localis ut summus perficientur IO. Si facultates et ferramenta repositionis communis non sufficiunt, IO bottleneck perficientur.
  • Data securitate: Post defectum switchover vel nodi, notitia quam maxime completa esse debet
  • Simplex institutionem, facilem administrationem et sustentationem

3. exsequendam principia et instructiones

    1. Botrus vigilis aedificate cum uno domino et duobus servis et tribus vigiliis.
    1. Redis tribus statutis independentibus utitur et unum exemplar ad aedificandum, cum processus vigilis uno instruere et tribus exemplaribus utitur ad aedificandum.
    1. Processus redis nodi utitur affinitate et pondere ad efficiendum nodi primarium et tergum.
    1. Redis ser- vato utitur servitio, vigiliis utitur servitio servitutis.
    1. Coetus duorum servorum et activum et tergum pro pondere, nomina pittacii sex nodis opus esse conponitur.

Nota: Redis hac solutione constructa solum intra botrum botrum adhiberi potest, et usui extra botrum per LoadBlancer vel NodePort provideri non potest, quia IP principalis redis in vigiliali electo est IP vasculi switch occurs, it cannot be determined.

4. gradibus Retineo

4.1.Planning nodi pittacia
Node nomenMunusLabel
k8s cooperator-120-81hostrepono-lego=node-a-master
k8s cooperator-120-82hostrepono-lego=node-b-dominum
k8s cooperator-120-83hostrepono-lego=node-c-master
k8s cooperator-120-84pararepono-selector=nodi-a-slve
k8s cooperator-120-85pararepono-selector=nodi-a-slve
k8s cooperator-120-86pararepono-selector=nodi-a-slve

Nota: Partes divisio hic refertur ad: Cum redis unum dominum et duos servos habet, uterque redis vasculum in tribus nodis domini cadit Vasculum redis-a-0 cadit in nodi intitulatum reposito-selectoris nodi per defaltam-a-dominum. .

4.2.

Configuratio quattuor fasciculorum continet ac distributio talis est:
sentinel.conf: Configurationis fasciculi vigilis. Per defaltam, prima res publica pro redis principali adhibetur, et configuratione: solutiones hostnames nomina exercitus sustinet.
redis-master.conf: Configuratio principalis redis, memoria configuratur 256M, figura configurationis 6379, tessera figuratio redis#123, et via reposita /data/redis est.
redis.conf: Ex tabella configurationis redis, memoriam ad 256M configurare, portum ad 6380 configurare, tesseram configurare: redis#123, iter repositionis est /data/redis-2, notitias conformandos configurare. principalis redis.
run.sh: Praecipuum munus est munus definire ut in diversis fasciculis configurationis discurrat, directorium crea in nomine militiae fundatum et molliter coniungere cum directorio repositorium. Hic gradus est maxime notitias singulorum servitiorum in proprio presul condere.

apiVersion: v1
kind: ConfigMap
metadata:
  name: defaultapp-redis-config
  namespace: default-ns
  labels:
    appname: default-app
    app: defaultapp-redis-config
data:
  sentinel.conf: |
    sentinel monitor mymaster defaultapp-redis-a-0.defaultapp-redis-a.default-ns.svc.cluster.local 6379 2
    sentinel auth-pass mymaster redis#123
    sentinel down-after-milliseconds mymaster 30000
    sentinel parallel-syncs mymaster 1
    sentinel failover-timeout mymaster 180000
    SENTINEL resolve-hostnames yes
    SENTINEL announce-hostnames yes
  redis-master.conf: |
    maxmemory 256mb
    requirepass redis#123
    save 3600 1 300 10 60 100
    dir /data/redis
    masterauth redis#123
  redis.conf: |
    maxmemory 256mb
    requirepass redis#123
    save 3600 1 300 10 60 100
    dir /data/redis
    replicaof defaultapp-redis-a-0.defaultapp-redis-a.default-ns.svc.cluster.local 6379
    masterauth redis#123
  run.sh: |
    #!/bin/sh
    role=$1
    hname=$(hostname)
    if [ $role == "master" ];then
        echo "run redis master"
        [ -d /home/redis/$hname ] || mkdir -p /home/redis/$hname
        [ -d /data ] || mkdir /data
        ln -s /home/redis/$hname /data/redis
        redis-server /etc/redis/redis-master.conf
    elif [ $role == "sentinel" ];then
        echo "run redis sentinel"
        mkdir -p /etc/redis
        cp /home/redis/sentinel.conf /etc/redis/
        redis-sentinel /etc/redis/sentinel.conf
    else
        echo "run redis slave"
        [ -d /home/redis/$hname ] || mkdir -p /home/redis/$hname
        [ -d /data ] || mkdir /data
        ln -s /home/redis/$hname /data/redis
        redis-server /etc/redis/redis.conf
    fi