Kubernetes - простой способ декларативно включить файл конфигурации? - PullRequest
0 голосов
/ 17 мая 2018

Попытка скопировать файл конфигурации nginx для моего модуля (используется на <project>/nginx.conf). С Docker compose я бы просто сделал следующее ...

image: "nginx:alpine"
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf

Лучшая практика? Не уверен, как это ново для меня. Казалось бы, это сработало хорошо. Я хотел бы сделать то же самое с развертыванием в kubernetes, но я не нахожу простой способ сделать это декларативно . Я немного наткнулся на ConfigMap , но был немного устойчив, когда сразу встретился со следующим ...

Используйте команду kubectl create configmap для создания конфигурационных карт из каталоги, файлы или буквенные значения

Я не хочу, чтобы в текстовых файлах было разбросано много запоминающихся команд, и я предпочитаю файловый подход, как показано в compose. Это достижимо? Моя спецификация до сих пор выглядит таковой ...

spec:
  containers:
  - name: nginx
    image: nginx:alpine
    ports:
    - containerPort: 80
      name: http

Помогите мне получить конфигурацию здесь?

1 Ответ

0 голосов
/ 17 мая 2018

ConfigMaps - абсолютно верный путь. Вы можете создать конфигурационную карту с помощью спецификации, подобной следующей:

apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx
  namespace: default
data:
  nginx.conf: |-
     user www;
     worker_processes 5; 
     ...
     # all nginx.conf file contents goes here

После того, как вы применили свой configmap с помощью kubectl, вы можете смонтировать его в свой контейнер, указав в PodSpec следующее:

containers:
- name: ...
  ...
  volumeMounts:
  - name: nginx-volume
    mountPath: <path where you want to put nginx.conf>
volumes:
- name: nginx-volume
  configMap:
    name: nginx

Обратите внимание, что каталог, который вы выберете в качестве точки монтирования для своего файла nginx.conf, будет содержать только этот файл (скрывая все другие файлы, уже присутствующие в этом каталоге), точно так же, как это происходит при монтировании устройства на непустом каталог в linux.

Гораздо больше подробностей о конфигурационных картах здесь: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...