Сервис Kubernetes теряет соединение с Etcd DB при перезагрузке модуля

У меня есть служба Go Lang REST и база данных ETCD в одном контейнере, развернутая в кластере kubernetes с использованием типа развертывания. Всякий раз, когда я пытаюсь перезапустить модуль службы, служба теряет связь с ETCD, я пыталась использовать наборы с состоянием вместо развертывания, но все равно не помогала. Мое развертывание выглядит примерно так:

ПВХ:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: XXXX
 namespace: XXXX
 annotations:
   volume.beta.kubernetes.io/storage-class: glusterfs-storage
spec:
 accessModes:
  - ReadWriteMany
 resources:
   requests:
     storage: 1Gi

Развертывание:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: XXX
  namespace: XXX
spec:
  replicas: X
  XXXXXXX
  template:
metadata:
  labels:
    app: rest-service
    version: xx
  spec:
    hostAliases:
    - ip: 127.0.0.1
      hostnames:
      - "etcd.xxxxx"
    containers:
    - name: rest-service
      image: xxxx
      imagePullPolicy: IfNotPresent
      ports:
      - containerPort: xxx
      securityContext:
        readOnlyRootFilesystem: false
        capabilities:
          add:
          - IPC_LOCK
    - name: etcd-db
      image: quay.io/coreos/etcd:v3.3.11
      imagePullPolicy: IfNotPresent
      command:
      - etcd
      - --name=etcd-db
      - --listen-client-urls=https://0.0.0.0:2379
      - --advertise-client-urls=https://etcd.xxxx:2379
      - --data-dir=/var/etcd/data
      - --client-cert-auth
      - --trusted-ca-file=xxx/ca.crt
      - --cert-file=xxx/tls.crt
      - --key-file=xxx/tls.key
      volumeMounts:
      - mountPath: /var/etcd/data
        name: etcd-data
        XXXX
      ports:
      - containerPort: 2379
    volumes:
    - name: etcd-data
      persistentVolumeClaim:
        claimName: XXXX

0 ответов

Другие вопросы по тегам