Есть ли способ монтировать тома в докер kubernetes? - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь использовать kompose convert для моих файлов docker-compose.yaml, однако, когда я запускаю команду:

kompose convert -f docker-compose.yaml

, я получаю вывод:

WARN Volume mount on the host "/home/centos/Sprint0Demo/Servers/elasticSearchConnector/etc/kafka-connect" isn't supported - ignoring path on the host
WARN Volume mount on the host "/home/centos/Sprint0Demo/Servers/elasticSearchConnector/etc/kafka-elasticsearch" isn't supported - ignoring path on the host
WARN Volume mount on the host "/home/centos/Sprint0Demo/Servers/elasticSearchConnector/etc/kafak" isn't supported - ignoring path on the host

Itтакже говорит больше предупреждений для других постоянных томов

Мой файл docker-compose:

version: '3'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.2.1
    container_name: es01
    environment:
      [env]
    ulimits:
      nproc: 3000
      nofile: 65536
      memlock: -1
    volumes:
      - /home/centos/Sprint0Demo/Servers/elasticsearch:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - kafka_demo
  zookeeper:
    image: confluentinc/cp-zookeeper
    container_name: zookeeper
    ports:
      - "2181:2181"
    environment:
        ZOOKEEPER_CLIENT_PORT: 2181
    volumes:
      - /home/centos/Sprint0Demo/Servers/zookeeper/zk-data:/var/lib/zookeeper/data
      - /home/centos/Sprint0Demo/Servers/zookeeper/zk-txn-logs:/var/lib/zookeeper/log
    networks:
      kafka_demo:
  kafka0:
    image: confluentinc/cp-kafka
    container_name: kafka0
    environment:
      [env]
    volumes:
      - /home/centos/Sprint0Demo/Servers/kafkaData:/var/lib/kafka/data
    ports:
      - "9092:9092"
    depends_on:
      - zookeeper
      - es01
    networks:
      kafka_demo:
  schema_registry:
    image: confluentinc/cp-schema-registry:latest
    container_name: schema_registry
    environment:
      [env]
    ports:
      - 8081:8081
    networks:
      - kafka_demo
    depends_on:
      - kafka0
      - es01
  elasticSearchConnector:
    image: confluentinc/cp-kafka-connect:latest
    container_name: elasticSearchConnector
    environment:
        [env]
    volumes:
      - /home/centos/Sprint0Demo/Servers/elasticSearchConnector/etc/kafka-connect:/etc/kafka-connect
      - /home/centos/Sprint0Demo/Servers/elasticSearchConnector/etc/kafka-elasticsearch:/etc/kafka-elasticsearch
      - /home/centos/Sprint0Demo/Servers/elasticSearchConnector/etc/kafak:/etc/kafka
    ports:
      - "28082:28082"
    networks:
      - kafka_demo
    depends_on:
      - kafka0
      - es01
networks:
  kafka_demo:
    driver: bridge

Кто-нибудь знает, как я могу решить эту проблему? Я думал, что это связано с сообщением об ошибке, в котором говорится, что это монтирование тома против хоста?

1 Ответ

0 голосов
/ 06 ноября 2019

Я провел некоторые исследования, на которые следует обратить внимание:

  1. kompose не поддерживает монтирование тома на хосте. Вы могли бы вместо этого использовать emptyDir .

  2. Kubernetes затрудняет передачу томов host/root. Вы можете попробовать с hostPath . kompose convert --volumes hostPath работает для k8s.

  3. Также вы можете проверить Compose on Kubernetes , если вы хотите запускать вещи на одной машине.

Пожалуйста, дайте мне знать, если это помогло.

...