Применить определенный файл развертывания при запуске образа на Minikube

#docker #kubernetes #minikube

#docker #kubernetes #minikube

Вопрос:

В Minikube с использованием KubeCtl я запускаю образ, созданный Docker, с помощью следующей команды:

 kubectl run my-service --image=my-service-image:latest --port=8080 --image-pull-policy Never
  

Но на Minukube к приложению должна быть применена другая конфигурация. Я подготовил некоторые переменные среды в файле развертывания и хочу применить их к образам на Minikube. Есть ли способ указать KubeCtl запускать эти образы, используя данный файл развертывания, или даже другой способ предоставить образам эти значения?

Например, я попробовал использовать глагол apply в KubeCtl, но он пытается создать модуль вместо применения к нему конфигурации.

Комментарии:

1. Можете ли вы показать файл, который пытаетесь использовать? Можете ли вы сказать немного больше о том, что kubectl apply делает то, чего вы не ожидаете? (Вы не можете изменять модули после их создания, и, как правило, вам следует избегать прямого создания модулей; предпочитайте объекты более высокого уровня, такие как развертывания.)

Ответ №1:

В minukube / kubernetes вам необходимо применить переменные среды в файле yaml вашего модуля / развертывания.

Вот пример того, как можно настроить переменные среды в спецификации развертывания:

 apiVersion: apps/v1
kind: Pod
metadata:
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: envar-demo-container
    image: gcr.io/google-samples/node-hello:1.0
    env:
    - name: DEMO_GREETING
      value: "Hello from the environment"
    - name: DEMO_FAREWELL
      value: "Such a sweet sorrow"
  

Здесь вы можете найти дополнительную информацию о переменных среды.

В этом случае, если вы хотите изменить какое-либо значение, вам нужно удалить модуль и применить его снова. Но если вы используете deployment , все изменения можно выполнить с помощью kubectl apply команды.