0

Kubernetes で redis センチネル展開を展開しようとしています。私はそれを達成しましたが、ConfigMaps を使用して、sentinel.conf ファイル内のマスターの IP アドレスを変更できるようにしたいと考えています。これを開始しましたが、configMaps のマウント ポイントが読み取り専用であるため、redis は構成ファイルに書き込むことができません。

init コンテナーを実行し、redis conf をポッド内の別のディレクトリにコピーすることを望んでいました。しかし、init コンテナーは conf ファイルを見つけることができませんでした。

私のオプションは何ですか?コンテナを初期化しますか? ConfigMap 以外の何か?

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: redis-sentinel
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: redis-sentinel
    spec:
      hostNetwork: true
      containers:
      - name: redis-sentinel
        image: IP/redis-sentinel
        ports:
          - containerPort: 63790
          - containerPort: 26379
        volumeMounts:
          - mountPath: /redis-master-data
            name: data
          - mountPath: /usr/local/etc/redis/conf
            name: config
      volumes:
        - name: data
          emptyDir: {}
        - name: config
          configMap:
            name: sentinel-redis-config
            items:
            - key: redis-config-sentinel
              path: sentinel.conf
4

2 に答える 2

0

起動スクリプトを作成します。その中で、ボリュームにマウントされている configMap ファイルを書き込み可能な場所にコピーします。次に、コンテナー プロセスを実行します。

于 2019-05-15T18:29:35.743 に答える